Fix broken CI for package only PRs, make dateutil not strictly required (#24484)

* Force the Python interpreter with an env variable

This commit forces the Python interpreter with an
environment variable, to ensure that the Python set
by the "setup-python" action is the one being used.

Due to the policy adopted by Spack to prefer python3
over python we may end up picking a Python 3.X
interpreter where Python 2.7 was meant to be used.

* Revert "Update conftest.py (#24473)"

This reverts commit 477c8ce820.

* Make python-dateutil a soft dependency for unit tests

Before #23212 people could clone spack and run
```
spack unit-tests
```
while now this is not possible, since python-dateutil is
a required but not vendored dependency. This change makes
it not a hard requirement, i.e. it will be used if found
in the current interpreter.

* Workaround mypy complaint
This commit is contained in:
Massimiliano Culpo
2021-06-23 13:56:07 +02:00
committed by GitHub
parent 97f0c3ccd9
commit 1bccd866ae
2 changed files with 9 additions and 6 deletions

View File

@@ -12,20 +12,19 @@
import os.path
import re
import shutil
import sys
import tempfile
import xml.etree.ElementTree
if sys.version_info >= (3,):
try:
# CVS outputs dates in different formats on different systems. We are using
# the dateutil package to parse these dates. This package does not exist
# for Python 2.x. That means that we cannot test checkouts "by date" for
# for Python <2.7. That means that we cannot test checkouts "by date" for
# CVS respositories. (We can still use CVS repos with all features, only
# our tests break.)
from dateutil.parser import parse as parse_date
else:
def parse_date(string):
pytest.skip("dateutil package not available for Python 2.6")
except ImportError:
def parse_date(string): # type: ignore
pytest.skip("dateutil package not available")
import py
import pytest