From c3849fb6d3f777bb70fbe142f177bace58b5e36b Mon Sep 17 00:00:00 2001
From: Kenneth Reitz <me@kennethreitz.org>
Date: Tue, 14 Mar 2017 13:36:14 -0400
Subject: [PATCH] improvements

---
 bin/steps/pip-install                     |  2 +-
 bin/steps/pipenv                          |  2 +-
 bin/steps/python                          |  1 +
 test/fixtures/nltk/nltk.txt               |  1 +
 test/fixtures/nltk/requirements.txt       |  1 +
 test/fixtures/no-requirements/init        |  0
 test/fixtures/pipenv-version/Pipfile      |  9 +++++++++
 test/fixtures/pipenv-version/Pipfile.lock | 23 +++++++++++++++++++++++
 test/fixtures/pipenv/Pipfile              |  2 ++
 test/run                                  | 23 +++++++++++++++++++++++
 test/utils                                |  2 ++
 vendor/runtime-fixer                      | 11 +++++++++++
 12 files changed, 75 insertions(+), 2 deletions(-)
 create mode 100644 test/fixtures/nltk/nltk.txt
 create mode 100644 test/fixtures/nltk/requirements.txt
 create mode 100644 test/fixtures/no-requirements/init
 create mode 100644 test/fixtures/pipenv-version/Pipfile
 create mode 100644 test/fixtures/pipenv-version/Pipfile.lock
 create mode 100644 test/fixtures/pipenv/Pipfile
 create mode 100755 vendor/runtime-fixer

diff --git a/bin/steps/pip-install b/bin/steps/pip-install
index 739e5497..0fc35b0b 100755
--- a/bin/steps/pip-install
+++ b/bin/steps/pip-install
@@ -1,5 +1,5 @@
 # Install dependencies with Pip.
-puts-cmd "pip install -r requirements.txt"
+puts-step "Installing requirements with pip"
 
 set +e
 # delete any existing egg links, to uninstall exisisting installations.
diff --git a/bin/steps/pipenv b/bin/steps/pipenv
index d16c153c..3ecdc238 100755
--- a/bin/steps/pipenv
+++ b/bin/steps/pipenv
@@ -4,7 +4,7 @@ if [[ -f Pipfile ]]; then
     if [[ ! -f requirements.txt ]]; then
         puts-step "Generating 'requirements.txt' with pipenv"
 
-        pip install git+https://github.com/kennethreitz/pipenv.git#egg=pipenv &> /dev/null
+        pip install pipenv --upgrade &> /dev/null
         pipenv lock --requirements > requirements.txt 2> /dev/null
 
         pipstrip requirements.txt
diff --git a/bin/steps/python b/bin/steps/python
index caf4b5a2..507ffd30 100755
--- a/bin/steps/python
+++ b/bin/steps/python
@@ -1,4 +1,5 @@
 set +e
+runtime-fixer runtime.txt
 PYTHON_VERSION=$(cat runtime.txt)
 
 # Install Python.
diff --git a/test/fixtures/nltk/nltk.txt b/test/fixtures/nltk/nltk.txt
new file mode 100644
index 00000000..c4f6bba8
--- /dev/null
+++ b/test/fixtures/nltk/nltk.txt
@@ -0,0 +1 @@
+wordnet
\ No newline at end of file
diff --git a/test/fixtures/nltk/requirements.txt b/test/fixtures/nltk/requirements.txt
new file mode 100644
index 00000000..6fa2de44
--- /dev/null
+++ b/test/fixtures/nltk/requirements.txt
@@ -0,0 +1 @@
+nltk
\ No newline at end of file
diff --git a/test/fixtures/no-requirements/init b/test/fixtures/no-requirements/init
new file mode 100644
index 00000000..e69de29b
diff --git a/test/fixtures/pipenv-version/Pipfile b/test/fixtures/pipenv-version/Pipfile
new file mode 100644
index 00000000..cd4e8131
--- /dev/null
+++ b/test/fixtures/pipenv-version/Pipfile
@@ -0,0 +1,9 @@
+[[source]]
+url = "https://pypi.python.org/simple"
+verify_ssl = true
+
+[packages]
+requests = "*"
+
+[requires]
+python_version = "3.6"
\ No newline at end of file
diff --git a/test/fixtures/pipenv-version/Pipfile.lock b/test/fixtures/pipenv-version/Pipfile.lock
new file mode 100644
index 00000000..15f40775
--- /dev/null
+++ b/test/fixtures/pipenv-version/Pipfile.lock
@@ -0,0 +1,23 @@
+{
+    "default": {
+        "requests": {
+            "version": "==2.13.0",
+            "hash": "sha256:1a720e8862a41aa22e339373b526f508ef0c8988baf48b84d3fc891a8e237efb"
+        }
+    },
+    "develop": {},
+    "_meta": {
+        "sources": [
+            {
+                "url": "https://pypi.python.org/simple",
+                "verify_ssl": true
+            }
+        ],
+        "requires": {
+            "python_version": "3.6"
+        },
+        "hash": {
+            "sha256": "5866990104fc8f27d13cdf01abc2a32c553129e03f666316cacc5b42d3e0884e"
+        }
+    }
+}
\ No newline at end of file
diff --git a/test/fixtures/pipenv/Pipfile b/test/fixtures/pipenv/Pipfile
new file mode 100644
index 00000000..317d2ddd
--- /dev/null
+++ b/test/fixtures/pipenv/Pipfile
@@ -0,0 +1,2 @@
+[packages]
+"delegator.py" = "*"
diff --git a/test/run b/test/run
index 8876e4e6..bc1f2e14 100755
--- a/test/run
+++ b/test/run
@@ -1,11 +1,34 @@
 #!/usr/bin/env bash
 
+
+
 testNoRequirements() {
   compile "no-requirements"
   assertCapturedError
 }
 
 
+testNLTK() {
+  compile "nltk"
+  assertCaptured "wordnet"
+  assertCapturedSuccess
+
+}
+
+
+testPipenvVersion() {
+  compile "pipenv-version"
+  assertCaptured "3.6.0"
+  assertCapturedSuccess
+}
+
+
+testPipenv() {
+  compile "pipenv"
+  assertCapturedSuccess
+}
+
+
 testSetupPy() {
   compile "setup-py"
   assertCaptured "maya"
diff --git a/test/utils b/test/utils
index c46d2422..23cb6df4 100644
--- a/test/utils
+++ b/test/utils
@@ -150,6 +150,8 @@ _assertContains()
 debug()
 {
   cat $STD_OUT
+  echo '^^^^^^'
+  cat $STD_ERR
 }
 
 assertContains()
diff --git a/vendor/runtime-fixer b/vendor/runtime-fixer
new file mode 100755
index 00000000..4ee1e419
--- /dev/null
+++ b/vendor/runtime-fixer
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+import sys
+
+runtime_file = sys.argv[1]
+
+with open(req_file, 'r') as f:
+    r = f.read().strip()
+
+with open(runtime_file, 'w') as f:
+    f.write(r)
-- 
GitLab