diff --git a/test/fixtures/python2_fail/requirements.txt b/test/fixtures/python2_fail/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..663bd1f6a2ae02f29df59fb4963c17934034f731
--- /dev/null
+++ b/test/fixtures/python2_fail/requirements.txt
@@ -0,0 +1 @@
+requests
\ No newline at end of file
diff --git a/test/fixtures/python2_fail/runtime.txt b/test/fixtures/python2_fail/runtime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d42956de9c4f2893134ed473cf17671343f4ee35
--- /dev/null
+++ b/test/fixtures/python2_fail/runtime.txt
@@ -0,0 +1 @@
+python-2.7.16
diff --git a/test/fixtures/python3_6_7/requirements.txt b/test/fixtures/python3_4_fail/requirements.txt
similarity index 100%
rename from test/fixtures/python3_6_7/requirements.txt
rename to test/fixtures/python3_4_fail/requirements.txt
diff --git a/test/fixtures/python3_4_fail/runtime.txt b/test/fixtures/python3_4_fail/runtime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3b5c63e5912725bc4dec2bfc3135db3470d14d8e
--- /dev/null
+++ b/test/fixtures/python3_4_fail/runtime.txt
@@ -0,0 +1 @@
+python-3.4.10
diff --git a/test/fixtures/python3_7_1/requirements.txt b/test/fixtures/python3_5_fail/requirements.txt
similarity index 100%
rename from test/fixtures/python3_7_1/requirements.txt
rename to test/fixtures/python3_5_fail/requirements.txt
diff --git a/test/fixtures/python3_5_fail/runtime.txt b/test/fixtures/python3_5_fail/runtime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..df4118a6a06eb46538803009ef7a69291fca95dd
--- /dev/null
+++ b/test/fixtures/python3_5_fail/runtime.txt
@@ -0,0 +1 @@
+python-3.5.7
diff --git a/test/fixtures/python3_6/runtime.txt b/test/fixtures/python3_6/runtime.txt
index 1935e9778db66275403e99759f51768cc7599918..34b35b713f56868abc889d5798cab36939bec38f 100644
--- a/test/fixtures/python3_6/runtime.txt
+++ b/test/fixtures/python3_6/runtime.txt
@@ -1 +1 @@
-python-3.6.6
+python-3.6.7
diff --git a/test/fixtures/python3_6_7/runtime.txt b/test/fixtures/python3_6_7/runtime.txt
deleted file mode 100644
index 34b35b713f56868abc889d5798cab36939bec38f..0000000000000000000000000000000000000000
--- a/test/fixtures/python3_6_7/runtime.txt
+++ /dev/null
@@ -1 +0,0 @@
-python-3.6.7
diff --git a/test/fixtures/python3_6_fail/requirements.txt b/test/fixtures/python3_6_fail/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e1060246fd6746a14204539a72e199a25469a05
--- /dev/null
+++ b/test/fixtures/python3_6_fail/requirements.txt
@@ -0,0 +1 @@
+flask
diff --git a/test/fixtures/python3_6_fail/runtime.txt b/test/fixtures/python3_6_fail/runtime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9fbd3bf0a8cbd237fdc16f03556d84baf76522be
--- /dev/null
+++ b/test/fixtures/python3_6_fail/runtime.txt
@@ -0,0 +1 @@
+python-3.6.8
diff --git a/test/fixtures/python3_7/runtime.txt b/test/fixtures/python3_7/runtime.txt
index 881a2db1abd7719381d1925771e0d4208fb46fb5..4255f73ae6037a2a4a5ddd6a1093c841fc339845 100644
--- a/test/fixtures/python3_7/runtime.txt
+++ b/test/fixtures/python3_7/runtime.txt
@@ -1 +1 @@
-python-3.7.0
+python-3.7.1
diff --git a/test/fixtures/python3_7_1/runtime.txt b/test/fixtures/python3_7_1/runtime.txt
deleted file mode 100644
index 4255f73ae6037a2a4a5ddd6a1093c841fc339845..0000000000000000000000000000000000000000
--- a/test/fixtures/python3_7_1/runtime.txt
+++ /dev/null
@@ -1 +0,0 @@
-python-3.7.1
diff --git a/test/fixtures/python3_7_fail/requirements.txt b/test/fixtures/python3_7_fail/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e1060246fd6746a14204539a72e199a25469a05
--- /dev/null
+++ b/test/fixtures/python3_7_fail/requirements.txt
@@ -0,0 +1 @@
+flask
diff --git a/test/fixtures/python3_7_fail/runtime.txt b/test/fixtures/python3_7_fail/runtime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a01373a365d95c1ab01706aadd1ff7376441ccfa
--- /dev/null
+++ b/test/fixtures/python3_7_fail/runtime.txt
@@ -0,0 +1 @@
+python-3.7.2
diff --git a/test/fixtures/python3_7_warn/requirements.txt b/test/fixtures/python3_7_warn/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..663bd1f6a2ae02f29df59fb4963c17934034f731
--- /dev/null
+++ b/test/fixtures/python3_7_warn/requirements.txt
@@ -0,0 +1 @@
+requests
\ No newline at end of file
diff --git a/test/fixtures/python3_7_warn/runtime.txt b/test/fixtures/python3_7_warn/runtime.txt
new file mode 100644
index 0000000000000000000000000000000000000000..881a2db1abd7719381d1925771e0d4208fb46fb5
--- /dev/null
+++ b/test/fixtures/python3_7_warn/runtime.txt
@@ -0,0 +1 @@
+python-3.7.0
diff --git a/test/fixtures/pythonDefault/requirements.txt b/test/fixtures/pythonDefault/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7e1060246fd6746a14204539a72e199a25469a05
--- /dev/null
+++ b/test/fixtures/pythonDefault/requirements.txt
@@ -0,0 +1 @@
+flask
diff --git a/test/run b/test/run
index 67d97c8adf10ba9bf61a187dd9e5919616e6fd26..6fb5000801edd866c357e6e3bb95ee616aa581eb 100755
--- a/test/run
+++ b/test/run
@@ -87,6 +87,18 @@ testPylibmc() {
   assertCapturedSuccess
 }
 
+testPythonDefault() {
+  compile "pythonDefault"
+  assertCaptured "python-3.6.6"
+  assertCapturedSuccess
+}
+
+testPython2() {
+    compile "python2"
+    assertCaptured "python-2.7.15"
+    assertCapturedSuccess
+}
+
 testPython2_warn() {
     compile "python2_warn"
     if [[ $STACK = "heroku-18" ]]; then
@@ -98,31 +110,41 @@ testPython2_warn() {
     fi
 }
 
-testPython2() {
-    compile "python2"
-    assertCaptured "python-2.7.15"
-    assertCapturedSuccess
+testPython2_fail() {
+    compile "python2_fail"
+    assertCaptured "Aborting"
+    assertCapturedError
+}
+
+testPython3_4() {
+  compile "python3_4"
+  assertCaptured "python-3.4.9"
+  assertCapturedSuccess
 }
 
-# This fail
 testPython3_4_warn() {
   compile "python3_4_warn"
   if [[ $STACK = "cedar-14" ]]; then
     assertCaptured "python-3.4.0"
+    assertCaptured "security update!"
     assertCapturedSuccess
   else
     assertCapturedError
   fi
 }
 
-# This fail
-testPython3_4() {
-  compile "python3_4"
-  assertCaptured "python-3.4.9"
-  assertCapturedError
+testPython3_4_fail() {
+    compile "python3_4_fail"
+    assertCaptured "Aborting"
+    assertCapturedError
+}
+
+testPython3_5() {
+  compile "python3_5"
+  assertCaptured "python-3.5.6"
+  assertCapturedSuccess
 }
 
-# This fail
 testPython3_5_warn() {
   compile "python3_5_warn"
   if [[ $STACK = "cedar-14" ]]; then
@@ -134,14 +156,18 @@ testPython3_5_warn() {
   fi
 }
 
-# This will fail
-testPython3_5() {
-  compile "python3_5"
-  assertCaptured "python-3.5.6"
-  assertCapturedError
+testPython3_5_fail() {
+    compile "python3_5_fail"
+    assertCaptured "Aborting"
+    assertCapturedError
+}
+
+testPython3_6() {
+  compile "python3_6"
+  assertCaptured "python-3.6.7"
+  assertCapturedSuccess
 }
 
-# This will warn
 testPython3_6_warn() {
   compile "python3_6_warn"
   assertCaptured "python-3.6.5"
@@ -149,33 +175,36 @@ testPython3_6_warn() {
   assertCapturedSuccess
 }
 
-testPython3_6() {
-  compile "python3_6"
-  assertCaptured "python-3.6.6"
-  assertCapturedSuccess
+testPython3_6_fail() {
+    compile "python3_6_fail"
+    assertCaptured "Aborting"
+    assertCapturedError
 }
 
-# This will fail
-testPython3_6_7() {
-  compile "python3_6_7"
-  assertCaptured "python-3.6.7"
-  assertCapturedError
+testPython3_7() {
+  compile "python3_7"
+  if [[ $STACK = "cedar-14" ]]; then
+    assertCapturedError
+  else
+    assertCaptured "python-3.7.1"
+    assertCapturedSuccess
+  fi
 }
 
-testPython3_7() {
+testPython3_7_warn() {
   compile "python3_7"
   if [[ $STACK = "cedar-14" ]]; then
     assertCapturedError
   else
     assertCaptured "python-3.7.0"
+    assertCaptured "security update!"
     assertCapturedSuccess
   fi
 }
 
-# This will fail
-testPython3_7_1() {
-  compile "python3_7_1"
-  assertCaptured "python-3.7.1"
+testPython3_7_fail() {
+  compile "python3_7_warn"
+  assertCaptured "Aborting"
   assertCapturedError
 }