
The old concretizer is still used to bootstrap clingo from source. If we switch to a DAG model where compilers are treated as nodes, we need to either: 1. fix the old concretizer to support this (which is a lot of work and possibly research), or 2. bootstrap `clingo` without the old concretizer. This PR takes the second approach and gets rid of the old concretizer code. To bootstrap `clingo`, we store some concrete spec prototypes as JSON, select one according to the coarse-grained system architecture, and tweak them according to the current host. The old concretizer and related dead code are removed. In particular, this removes `Spec.normalize()` and related methods, which were used in many unit-tests to set up the test context. The tests have been updated not to use `normalize()`. - [x] Bootstrap clingo concretization based on a JSON file - [x] Bootstrap clingo *before* patchelf - [x] Remove any use of the old concretizer, including: * Remove only_clingo and only_original fixtures * Remove _old_concretize and _new_concretize * Remove _concretize_together_old * Remove _concretize_together_new * Remove any use of `SPACK_TEST_SOLVER` * Simplify CI jobs - [x] ensure bootstrapping `clingo` works on on Darwin and Windows - [x] Raise an intelligible error when a compiler is missing - [x] Ensure bootstrapping works on FreeBSD - [x] remove normalize and related methods Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
18 lines
846 B
INI
18 lines
846 B
INI
# content of pytest.ini
|
|
[pytest]
|
|
addopts = --durations=30 -ra --strict-markers
|
|
testpaths = lib/spack/spack/test
|
|
python_files = *.py
|
|
filterwarnings =
|
|
ignore::UserWarning
|
|
markers =
|
|
db: tests that require creating a DB
|
|
maybeslow: tests that may be slow (e.g. access a lot the filesystem, etc.)
|
|
regression: tests that fix a reported bug
|
|
requires_executables: tests that requires certain executables in PATH to run
|
|
nomockstage: use a stage area specifically created for this test, instead of relying on a common mock stage
|
|
enable_compiler_verification: enable compiler verification within unit tests
|
|
enable_compiler_execution: enable compiler execution to detect link paths and libc
|
|
disable_clean_stage_check: avoid failing tests if there are leftover files in the stage area
|
|
not_on_windows: mark tests that are skipped on Windows
|