diff --git a/bin/steps/pip-install b/bin/steps/pip-install index 739e5497fe2bda0b36b9b379858e61639508e302..0fc35b0bd885a626b6eb587f3e7630ae2dc70c91 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 d16c153cb53ef7ac2e9900c3914b545b274acceb..3ecdc2384488cb99c0ca19dd8e4db99a2ec2f990 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 caf4b5a2330b17ba94d73f841d870b8809e9d388..507ffd30f97a8bbe1cfa412ff152e7d811c976f7 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 0000000000000000000000000000000000000000..c4f6bba89dc5bb908437d12b8b0727ae4e6ca5c1 --- /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 0000000000000000000000000000000000000000..6fa2de44417ce85838334618e6430c5e1abc6a5d --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/test/fixtures/pipenv-version/Pipfile b/test/fixtures/pipenv-version/Pipfile new file mode 100644 index 0000000000000000000000000000000000000000..cd4e813138e32642c4c9979cf289d2b43241815c --- /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 0000000000000000000000000000000000000000..15f40775d714c632441a5f8ce8e0876098618f35 --- /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 0000000000000000000000000000000000000000..317d2dddd5fd7f1f70bdaeb4035bd5d6850a6bff --- /dev/null +++ b/test/fixtures/pipenv/Pipfile @@ -0,0 +1,2 @@ +[packages] +"delegator.py" = "*" diff --git a/test/run b/test/run index 8876e4e61a1d2d030ee61fdfc8d0142a13455bba..bc1f2e14f6827fa6652ec62f9332a95d506438ce 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 c46d242264cc629affbe14dc8aaf90803eb7436e..23cb6df40af82f2756951f9b94b3a2427826dbdc 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 0000000000000000000000000000000000000000..4ee1e41981b8cba01b57cc5b64ffe8c9f55b8202 --- /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)