Enabling coverage results in an increase in runtime, and while this may
be an acceptable compromise for some developers, it's not necessarily
something we need to run all the time. Move it to a separate target so
it can be run only by those who wish to use it.
Signed-off-by: Stephen Finucane <stephen@that.guru>
Per the pytest docs [1], this is the preferred way to ignore tests. This
necessitates removing the 'test-async' target as it no longer makes any
sense.
[1] https://docs.pytest.org/en/latest/example/pythoncollection.html
Signed-off-by: Stephen Finucane <stephen@that.guru>
While there are already some skips included here, they clearly aren't
doing their job and the test fail locally. Resolve this.
Signed-off-by: Stephen Finucane <stephen@that.guru>
We are using this in our testing and actually need it for the flake8
plugin, so include this in the list of 'test' requirements.
Signed-off-by: Stephen Finucane <stephen@that.guru>
Use the ensuredir() function consistently across Sphinx code to avoid
race conditions e.g. when multiple Sphinx instances attempt to create
the same output directory. The ensuredir() function that was already
present in sphinx.util.osutil correctly catches EEXIST exception that
occurs if the specified directory already exists (i.e. it was created
between the call to os.path.isdir() and os.makedirs() that follows it).
While at it, remove redundant os.path.isdir() calls when they only
guarded the os.makedirs() call, and replace mkdir_p() which had pretty
much the same purpose, except for being prone to race conditions.
I did not modify testing-related code as race conditions mostly affect
real applications and not the test environment.
Fix#4281: Race conditions when creating output directory
Indeed, if latex_engine is not appropriately set, the ``make latexpdf``
then fails because the Makefile in latex build repertory is the one for
pdflatex, not platex+dvipdfmx.
Besides, if language is 'ja', then latexpdf automatically uses the
platex latex_engine, hence the platex/dvipdfmx pipeline, and latexpdfja
is not needed.
For now, only removing documentation.