Commit Graph

228 Commits

Author SHA1 Message Date
Tzu-ping Chung c054d2ae94 Skip test_complex_lock_deep_extras 2018-04-07 22:13:33 +08:00
Tzu-ping Chung f2bfc96baf Come on 2018-04-07 21:42:36 +08:00
Tzu-ping Chung ab44596c9a Skip test_complex_lock 2018-04-07 19:23:47 +08:00
Tzu-ping Chung fa3934ac0d Cherry-pick changes from #1909
Let's hope this works.
2018-04-07 18:34:55 +08:00
Dan Ryan 1ec8dafc34 Only run tests once each
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-06 23:26:36 -04:00
Dan Ryan 61418fda20 Fix all tests and split out requirements refactor
- includes missing artifacts
- fixes cmdprse script
- Remove extraneous changes
- Fix tests
2018-04-06 23:25:37 -04:00
Dan Ryan 703776fc92 Fix tests and requirements parsing
- Fix zip urls and markers
- Mock maya dependencies

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-06 23:24:18 -04:00
Tzu-ping Chung 536efd2d38 Fix edge cases for pipenv run
- Use os.path.join instead of os.path.sep.join
- This prevents strange test errors when there are slashes in either parts
- Better test reporting
- Cleanup
2018-04-06 23:23:17 -04:00
Dan Ryan 1607091b85 Begin complete re-work of requirements parsing
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-06 23:23:16 -04:00
Tzu-ping Chung b4e832fb73 Improve test error report 2018-04-06 23:23:16 -04:00
Tzu-ping Chung 9dda593650 Improve python 2 cmdparse compatibility
- Use string_types to improve compat on Python 2
- Correct PYTHON_VERSION in appveyor.yml
- Let's debug
2018-04-06 23:22:30 -04:00
Dan Ryan d3a08878cf Fix marker parsing
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-06 23:22:30 -04:00
Tzu-ping Chung 15c7308ca9 Proper script argument escaping
I chose to make Script.parse to always operate in POSIX mode so it is much
easier to write commands compatible on all platforms.

Script.cmdify is the important part on Windows. It ensures the argument
line is always escaped and joined properly on Windows, not just for the
subset that works both under POSIX and Windows (as is the case of
shlex.escape).
2018-04-06 23:22:30 -04:00
Dan Ryan 31301b1536 Fix deps and testing infrastructure
- Fix requirement parsing
- Add appveyor config
- cutover from pathlib to pathlib2 if needed
- Pin pathlib2==2.1.0 to avoid scandir
- Windows script runner fix
- Backport `shlex.quote()` for use in `pipenv run`
- Update tests and appveyor

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-04-06 23:19:32 -04:00
Dan Ryan ff15be72c5 Remove verbose flag auto-add
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 18:27:25 -04:00
Dan Ryan f9ce022794 Tweeak pypi mock
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 18:25:42 -04:00
Dan Ryan 5d3bb0768d Unmock ibm-db-sa
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 17:54:52 -04:00
Dan Ryan 4551d2b68c Fix verbose command construction 2018-03-30 16:36:19 -04:00
Dan Ryan f61a2eddca Fix resolution for broken tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 15:49:12 -04:00
Dan Ryan f13f296b03 Fix tests
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 14:52:13 -04:00
Dan Ryan d36081889e Remove mocked pypi from complex test
- Remove extra marker too

Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 13:44:49 -04:00
Dan Ryan 4117affaef Catch up with master properly
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-30 13:10:24 -04:00
Dan Ryan 5f1d8ee309 Final test updates 2018-03-30 13:00:59 -04:00
Tzu-ping Chung 6bde082a04 Skip some tests on 2.7 2018-03-30 12:38:11 -04:00
Dan Ryan 3e07c809eb Undo capsys, reorder install and lock 2018-03-30 12:37:17 -04:00
Dan Ryan 28a6cb4805 Disable capsys to capture stdout/stderr 2018-03-30 12:37:17 -04:00
Dan Ryan a4bbed3f69 Block for debugging 2018-03-30 12:37:16 -04:00
Tzu-ping Chung b5ae7cc0bb Just always require suffix then
This is not the TemporaryDirectory you are looking for.
2018-03-30 12:37:16 -04:00
Tzu-ping Chung ba93ad2da5 Never mock PyPI half-way, either do, or don't 2018-03-30 12:37:16 -04:00
Tzu-ping Chung 42d83dbbac Need to use the backported TemporaryDirectory 2018-03-30 12:37:15 -04:00
Tzu-ping Chung 1c9792434d Un-mock maya 2018-03-30 12:37:15 -04:00
Tzu-ping Chung a3dcc66844 Refactor 2018-03-30 12:37:13 -04:00
Tzu-ping Chung 67de4891a9 Skip Internet and add verbose flag if possible 2018-03-30 12:36:37 -04:00
Tzu-ping Chung 8a39fbceaa Actually use mocked PyPI when testing with locking 2018-03-30 12:36:34 -04:00
Tzu-ping Chung 0cb0f8999f Fix scripts and source errors not caught before 2018-03-30 12:32:07 -04:00
Frost Ming aff9078985 pass pre flag to lock 2018-03-30 22:35:48 +08:00
Dan Ryan 00ebba4b58 Switch to tablib and try again
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-29 22:00:44 -04:00
Dan Ryan 4043ee57f6 Merge branch 'jtratner/fix-scripts-quoting' into locking-handle-eggs 2018-03-29 21:12:13 -04:00
Jeff Tratner 15c19ee001 Make run easier to understand 2018-03-29 17:57:04 -07:00
Dan Ryan 15bb50cfa4 Add some markers
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-29 20:43:27 -04:00
Jeff Tratner 5de48b4800 Better shell quoting
1. Only use split() when we actually come in from CLI (possibly never
   need to do that at all)
2. Add some additional test cases to cover quoting.
3. Better error message in case of missing executable pulled from a run
script.

E.g.:

```
[scripts]
random = "myexecutable a b c"
myexecutable = "echo 5"
```

```
Error: the command myexecutable (from random) could not be found within PATH.
```

vs. previous, which had a slightly disingenous error message.

```
Error: the command myexecutable could not be found within PATH or Pipfile's [scripts].
```
2018-03-29 00:55:08 -07:00
Jeff Tratner 7afa528c0f Fix small test case typo 2018-03-28 23:54:00 -07:00
Dan Ryan 71896d1f20 Skip python 3 only test on py2
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-29 00:48:01 -04:00
Dan Ryan 14cdff2c0b Include markers when they are included at top lvl
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-29 00:13:20 -04:00
Dan Ryan 4a425c3429 Add regression tests for resolver changes
Signed-off-by: Dan Ryan <dan@danryan.co>
2018-03-28 23:00:38 -04:00
Dan Ryan 7697541dc0 Merge branch 'master' into locking-handle-eggs 2018-03-28 18:00:01 -04:00
Jeff Tratner b0445a2c0b Lint fixes
Fix up tests a little more

Use temp_environ rather than monkeypatch
2018-03-27 15:30:22 -04:00
Tzu-ping Chung f8499281e8 Ensure locking works with eggs
Patch notpip to recognise .egg formats on PyPI. Close #1849, ref #1850.
2018-03-27 12:16:47 +08:00
Tzu-ping Chung c590e80449 Some tests for the scripts section 2018-03-26 15:48:06 +08:00
Jeff Tratner ebf5ed843b Detect .venv at project root when in subdirectory
Also remove `PIPENV_SHELL_COMPAT` which appears to be no longer used.

(confirmed test case fails without this change and passes with it).
2018-03-23 15:35:12 -07:00