Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork939
Commit4aad37a
committed
Improve environment isolation in Cygwin and Alpine Linux on CI
The main change here is to the Cygwin test workflow, which now runsthe tests in a venv (a Python virtual environment), to avoid mixingup our intended dependencies with other files installed by Pythonrelated packages on the system. This should either fix the problemwhere `test_handle_process_output` reports an extra line in stderrfor the `cat_file.py` subprocess on CI or Cygwin, or at least makeit somewhat easier to continue investigating the problem. I thinkthis change is also valuable for its own sake.The connection to the `test_handle_process_output` failure is thatthe extra line in stderr appears at the beginning and is an errormessage about a missing import needed for subprocess code coverage.With the recently added more detailed error reporting, it shows: self.assertEqual(line_counts[1], expected_line_count, repr(lines[1])) > self.assertEqual(line_counts[2], expected_line_count, repr(lines[2])) E AssertionError: 5003 != 5002 : ['pytest-cov: Failed to setup subprocess coverage. Environ: {\'COV_CORE_SOURCE\': \'git\', \'COV_CORE_CONFIG\': \':\', \'COV_CORE_DATAFILE\': \'/cygdrive/d/a/GitPython/GitPython/.coverage\'} Exception: ModuleNotFoundError("No module named \'iniconfig\'")\n', 'From github.com:jantman/gitpython_issue_301\n', ' = [up to date] master -> origin/master\n', ' = [up to date] testcommit1 -> origin/testcommit1\n', ' = [up to date] testcommit10 -> origin/testcommit10\n', ' = [up to date] testcommit100 -> origin/testcommit100\n', ' = [up to date] testcommit1000 -> origin/testcommit1000\n', ' = [up to date] testcommit1001 -> origin/testcommit1001\n', ' = [up to date] testcommit1002 -> origin/testcommit1002\n', ' = [up to date] testcommit1003 -> origin/testcommit1003\n', ' = [up to date] testcommit1004 -> origin/testcommit1004\n', ' = [up to date] testcommit1005 -> origin/testcommit1005\n', ' = [up to date] testcommit test/test_git.py:793: AssertionErrorThis could possibly be worked around by attempting to install apackage to provide `iniconfig`, by configuring `pytest-cov` in away that does not require it, or by temporarily disabling codecoverage reports on Cygwin. Before exploring those or otheroptions, this change seeks to prepare a more isolated environmentin which different package versions are more likely to workproperly together.In addition to that change to the Cygwin workflow, this alsochanges the way the Alpine Linux test workflow is made to use avenv, using the technique that is used here, and undoing somechanges in the Alpine Linux workflow that should not be necessary.The reason for making that change together with this Cygwin changeis that if either does not work as expected, it might shed light onwhat is going wrong with the other.Although the same technique is used on Cygwin and in Alpine Linux,it looks a little different, because the environment variable onCygwin is `BASH_ENV` (since script steps are run in `bash`), whilethe environment variable is `ENV` (since script steps are run in`busybox sh`) and this must also be allowed to pass through `sudo`(since `sh`, which is `busybox sh` on this system, is being invokedthrough `sudo`).1 parenta0f8425 commit4aad37a
2 files changed
+11
-10
lines changedLines changed: 8 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
19 |
| - | |
20 |
| - | |
| 19 | + | |
| 20 | + | |
21 | 21 |
| |
22 | 22 |
| |
23 | 23 |
| |
| |||
47 | 47 |
| |
48 | 48 |
| |
49 | 49 |
| |
50 |
| - | |
51 |
| - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
52 | 56 |
| |
53 | 57 |
| |
54 | 58 |
| |
55 |
| - | |
56 | 59 |
| |
57 | 60 |
| |
58 | 61 |
| |
59 | 62 |
| |
60 |
| - | |
61 | 63 |
| |
62 | 64 |
| |
63 | 65 |
| |
| |||
66 | 68 |
| |
67 | 69 |
| |
68 | 70 |
| |
69 |
| - | |
70 | 71 |
|
Lines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
55 | 55 |
| |
56 | 56 |
| |
57 | 57 |
| |
58 |
| - | |
| 58 | + | |
59 | 59 |
| |
60 |
| - | |
61 |
| - | |
| 60 | + | |
| 61 | + | |
62 | 62 |
| |
63 | 63 |
| |
64 | 64 |
| |
|
0 commit comments
Comments
(0)