|
@@ -14,14 +14,38 @@ deps =
|
|
|
|
|
|
setenv =
|
|
|
PYTHONDONTWRITEBYTECODE = no_byte_code
|
|
|
- # As of twisted 16.4, trial tries to import the tests as a package, which
|
|
|
- # means it needs to be on the pythonpath.
|
|
|
- PYTHONPATH = {toxinidir}
|
|
|
+
|
|
|
commands =
|
|
|
- /bin/sh -c "find {toxinidir} -name '*.pyc' -delete ; coverage run {env:COVERAGE_OPTS:} --source={toxinidir}/synapse \
|
|
|
- {envbindir}/trial {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}"
|
|
|
+ /usr/bin/find "{toxinidir}" -name '*.pyc' -delete
|
|
|
+ coverage run {env:COVERAGE_OPTS:} --source="{toxinidir}/synapse" \
|
|
|
+ "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}
|
|
|
{env:DUMP_COVERAGE_COMMAND:coverage report -m}
|
|
|
|
|
|
+[testenv:py27]
|
|
|
+
|
|
|
+# As of twisted 16.4, trial tries to import the tests as a package (previously
|
|
|
+# it loaded the files explicitly), which means they need to be on the
|
|
|
+# pythonpath. Our sdist doesn't include the 'tests' package, so normally it
|
|
|
+# doesn't work within the tox virtualenv.
|
|
|
+#
|
|
|
+# As a workaround, we tell tox to do install with 'pip -e', which just
|
|
|
+# creates a symlink to the project directory instead of unpacking the sdist.
|
|
|
+#
|
|
|
+# (An alternative to this would be to set PYTHONPATH to include the project
|
|
|
+# directory. Note two problems with this:
|
|
|
+#
|
|
|
+# - if you set it via `setenv`, then it is also set during the 'install'
|
|
|
+# phase, which inhibits unpacking the sdist, so the virtualenv isn't
|
|
|
+# useful for anything else without setting PYTHONPATH similarly.
|
|
|
+#
|
|
|
+# - `synapse` is also loaded from PYTHONPATH so even if you only set
|
|
|
+# PYTHONPATH for the test phase, we're still running the tests against
|
|
|
+# the working copy rather than the contents of the sdist. So frankly
|
|
|
+# you might as well use -e in the first place.
|
|
|
+#
|
|
|
+# )
|
|
|
+usedevelop=true
|
|
|
+
|
|
|
[testenv:packaging]
|
|
|
deps =
|
|
|
check-manifest
|