Commit Graph

200 Commits

Author SHA1 Message Date
Jussi Pakkanen 84e216fd64
Merge pull request #6636 from jon-turney/machine-detection-problems
Redetect machines when languages change
2020-03-20 20:35:59 +02:00
Dylan Baker 7470617953 project_tests: Add the option to the test format to mark the language
This is needed when mixing D and C code, as it's possible to end up
witha  combination of linkers and compilres such that C produces pdb
files but D does not.
2020-03-09 16:55:08 -07:00
Dylan Baker fc8fffaf47 run_project_tests: Sort imports
It was impossible to figure out what was coming from where before.
2020-03-09 16:55:08 -07:00
Dylan Baker 6d4df978e2 run_project_tests: fix argument type 2020-03-09 16:55:08 -07:00
Dylan Baker c9ecfc84ff tests: Add pdb files for d tests 2020-03-09 16:55:08 -07:00
Dylan Baker 5ccda6878d project_tests: Add "version" to "shared_lib" and "pdb" types
This allows the harness to apply the version correctly, putting it in the right
place, dropping the right amount of numbers, etc.

pdb taking a version allows it to be more easily copied from the
shared_lib type.
2020-03-09 11:57:26 -07:00
Dylan Baker 2cdc6892f4 project_tests: Add a "shared_lib" type
This allows fixing tests that produce .dylib's on macOS and .so's on elf
Unices.
2020-03-06 12:11:26 -08:00
Jon Turney 42fbf9299a
Extend _run_test to test build without regenerate
Add coverage of a simple 'configure then build' sequence, to catch bugs
which occur with that.

Also, to simplify returning results from functions called by
_run_test(), allow it also throw TestResult objects, which run_test()
catches and returns.
2020-02-29 16:35:18 +00:00
Daniel Mensinger 12930051ae
test: replace pass_* functions with a test.json entry 2020-02-26 20:25:55 +01:00
Daniel Mensinger 8e60b8c146
test: merge installed_files.txt into test.json 2020-02-25 21:47:42 +01:00
Daniel Mensinger 3065202f6b
test: realise test_args.txt with a test matrix 2020-02-25 21:47:42 +01:00
Daniel Mensinger efd4e2a15b
test: merge test_matrix.json and setup_env.json into test.json 2020-02-25 21:47:37 +01:00
Daniel Mensinger 1da11be132
test: general refactoring of run_project_tests.py 2020-02-25 21:47:32 +01:00
Daniel Mensinger 96f5d4e455
boost: Updated tests 2020-02-20 13:38:45 +01:00
Jon Turney eb1a8ecf7c
Remove unused no-installed-files test feature
Looking at 45c8557d, the idea behind this seems to be that a test could
conditionally indicate that the list of installed files should not be
validated by creating that file.

It's no longer used anywhere.

Also remove a lingering no-install-files file which isn't used since commit
c693bd9b.
2020-02-13 17:15:58 +00:00
Jon Turney 3d6d908f7c
Refactor TestResult object initialization
Just add or alter attributes of the TestResult object, rather than many,
many invocations of the constructor with very similar arguments.

Define helper methods for TestResult to add the results of a step and
set the failure reason.
2020-02-13 13:28:13 +00:00
Daniel Mensinger 038e0293c6 ci: Add Fedora and OpenSUSE images 2020-02-11 19:02:25 +02:00
Dylan Baker 3689e49f4e run_project_tests: Fix it to actually work
This move the sorting logic into the TestDef class itself, which
simplifies sorting them.

Additionally it remove overcomplicated sort logic, because python
strings are compared character by character, we don't need to do the
split and cast to int, we know that realistically a maximum of 4
characters (the first 4 numbers) are going to be compared in most cases.
2020-02-07 09:29:02 -08:00
Daniel Mensinger 883262dbf6
tests: Added basic test matrix support for project tests 2020-02-05 12:11:32 +01:00
Jussi Pakkanen d8faf9b706
Merge pull request #6536 from jon-turney/cross-testing-refactor
Refactor CI cross-testing
2020-01-30 23:13:24 +02:00
Michael Hirsch, Ph.D 00f5dadd5b
Bugfix: sanitize_dir: use pathlib to handle case-insensitive filesystems (#6398) 2020-01-30 23:07:44 +02:00
Jon Turney ea805d4287
Make run_project_tests.py aware of --cross-file option 2020-01-28 21:42:06 +00:00
Daniel Mensinger 375a51712b
cmake: Some test improvements 2020-01-26 18:23:41 +01:00
Nirbheek Chauhan 2c8e676e2b tests: Fix some test failures on Ubuntun 16.04 CI
* xenial doesn't ship many dependencies, so make them all optional
  since we don't guarantee that everything will work
* cmake/{5,6}: needs stdlib.h for EXIT_SUCCESS on GCC 5
* common/222: needs C++11, and GCC 5 doesn't understand `auto`
  correctly unless we explicitly enable it.
* frameworks/1 boost: xenial doesn't ship boost_python3, so make it
  properly optional
* frameworks/6 gettext: gettext can be installed without xgettext,
  which doesn't cause the project to fail, but the installed files
  list is different which causes the test to fail.
* frameworks/7 gnome: gobject-introspection can't be enabled because
  the sanitizer unit test detects leaks in glib and fails
2020-01-24 02:53:34 +05:30
Daniel Mensinger 09b53c534f types: import typing as T (fixes #6333) 2020-01-08 15:28:17 +01:00
Michael Hirsch, Ph.D a910ba133a
doc: cuda windows comment 2019-12-23 17:25:14 -05:00
Jussi Pakkanen 17dd9e5bff
Merge pull request #6207 from dcbaker/linker-option
Add a way to select the dynamic linker meson uses
2019-12-11 23:29:33 +02:00
Michael Hirsch, Ph.D 8be7278855 run_project_tests: argparse(choices) for --only name check 2019-12-07 21:21:25 +02:00
Jussi Pakkanen 06cc98ab54
Merge pull request #6228 from scivision/scalapack
deps: add Scalapack
2019-12-07 21:17:53 +02:00
Daniel Mensinger 379d633ef2 lgtm: fix Unreachable code 2019-12-05 00:22:10 +02:00
Dylan Baker 39efd97714 run_project_tests: Fix skip rust
which expects an argument of backend, but isn't getting one.
2019-12-03 13:08:42 -08:00
Michael Hirsch, Ph.D 3120481d77
CI: scalapack not skippable since it's now in Docker image 2019-11-30 21:37:45 -05:00
Michael Hirsch, Ph.D 92b77cb321
deps: add scalapack
Scalapack uses a library stack that can be challenging to manage.
Not least of all since many Scalapacks ship with broken / incomplete
pkg-config files and CMake FindScalapack.cmake

This resolves those issues for typical Scalapack setups including:

* Linux: Intel MKL or OpenMPI + Netlib
* MacOS: Intel MKL or OpenMPI + Netlib
* Windows: Intel MKL (OpenMPI not available on Windows)
2019-11-30 21:29:49 -05:00
Daniel Mensinger 9435f11b17
ci: Add CI command to include text files in the CI log 2019-11-19 15:21:13 +01:00
Michael Hirsch, Ph.D 1baa1c9222 use '-Werror=unused-parameter' for gcc/clang on project tests and -fimplicit-none on fortran
Fortran: check for undeclared variables by forcing implicit none everywhere
C/C++: check for unused parameters and return types

removed unused variables from test cases

ci: do missing return and unused arg check with Github Actions
2019-11-17 13:24:42 +02:00
Daniel Mensinger 892c8ebe65
run_project_tests: Added print_tool_versions() 2019-10-20 12:04:15 +02:00
Dylan Baker 0c22798b1a compilers: replace CompilerType with MachineInfo
Now that the linkers are split out of the compilers this enum is
only used to know what platform we're compiling for. Which is
what the MachineInfo class is for
2019-10-07 12:08:20 -07:00
Patrick Griffis 1670fca36f Add blocks dependency
This allows easily enabling the blocks clang extension.
2019-09-23 21:10:00 +03:00
Michael Hirsch, Ph.D 3447767cac
PGI: windows PGI is sort of MSVC-like 2019-09-05 11:50:23 -04:00
Dylan Baker 25e32b56fb tests: add wasm to run_project_tests --only 2019-08-12 10:40:09 -07:00
Jussi Pakkanen f39600647d Condense test directory names. 2019-08-03 02:29:44 +03:00
Michael Hirsch, Ph.D b5e9ab8ed0
fortran tests: non-gfortran compilers on Windows are best static libs
collapsed get_relative_files_list_from_dir to a one-liner via pathlib.Path
2019-07-30 03:17:14 -04:00
Michael Hirsch, Ph.D 667cc80f72
run_tests: ifort / intel-cl must have ninja backend 2019-07-30 03:14:25 -04:00
Michael Hirsch, Ph.D 3d18da0de3
actually failfast, was not failing fast before 2019-07-30 03:14:24 -04:00
Daniel Mensinger 3b2126531a cmake: added test case for environment variables 2019-07-23 05:50:55 +00:00
Michael Hirsch, Ph.D cb7d236696 pythonic file checks 2019-07-11 22:37:25 +03:00
Jussi Pakkanen b1fbbde0b0 Use pytest parallelisation if available. 2019-07-09 22:38:30 +03:00
Jussi Pakkanen 4b1ab96795 Add command line argument to skip unit tests. 2019-07-09 22:03:58 +03:00
Michael Hirsch, Ph.D 5b109c9ad2 correct missing argument for IntelClFortranCompiler
ifort passes all tests

cleanup logic
2019-06-24 14:06:32 -04:00
Michael Hirsch, Ph.D 40a3a6c3d0 only --only option to run_project_tests, add type hints, improve variable name use 2019-06-23 18:22:43 +03:00