Commit Graph

167 Commits

Author SHA1 Message Date
Gerwin Klein a424d55e3e licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Japheth Lim 992cc15725 misc: update settings file for Isabelle2019
Changes:
- Isabelle2017 compat for output heaps is now removed.
- We no longer select x86_64 as the ML_PLATFORM; the new default
  x86_64_32 platform is generally superior.
- We still select ML_PLATFORM for Isabelle2018 compat.
2019-06-13 16:22:33 +10:00
Edward Pierzchalski 3dbe9fb100 misc: Use TS settings file.
For internal use, we want to configure Isabelle to use our custom
multiple-heap settings.
2019-04-24 14:45:58 +10:00
Japheth Lim 9fa4dece6b run_tests: add --dot option to print test dependency graph 2018-09-27 15:03:17 +10:00
Japheth Lim 1bb071e703 misc: add new minimal thydeps script for Isabelle2018 2018-09-06 20:34:59 +10:00
Japheth Lim b61e91921c misc: retire broken thydeps script 2018-09-06 20:34:59 +10:00
Gerwin Klein 23147cffc8 jedit: go to end of file if there is no error
(idea by Dominique Unruh)
2018-09-05 16:00:08 +10:00
Gerwin Klein b74b6f13c4 Isabelle2018: simplify l4v isabelle settings; guard ML_HOME access
ML_HOME is not always set already when this script is sourced (e.g. when
the polyml component is somehow faulty).

Isabelle heap output settings are now part of the TS isabelle patch queue;
explicit override is still possible as before.
2018-08-20 09:06:37 +10:00
Gerwin Klein b213aa9ba0 Isabelle2018: CParser 2018-08-20 09:06:36 +10:00
Gerwin Klein c1a0f3be1c thydeps: retire theory dependency check
Isabelle2018 will perform these checks now automatically when loading ROOT
files, and the thydeps tool does not understand sessions-qualified imports.
2018-08-20 09:05:52 +10:00
Japheth Lim a837d38012 regression: better messages for nonexistent tests 2018-06-15 11:23:57 +10:00
Japheth Lim a70475ac99 regression: support using --remove with test selection; refactoring 2018-06-14 20:42:30 +10:00
Japheth Lim 06027b6841 regression: clarify behaviour of --exclude vs. --remove 2018-06-13 17:28:35 +10:00
Japheth Lim 3ae4d6577d regression: add --scale-timeouts and --no-timeouts options
These are being added to support builds that turn on extra debugging
or measurement options in Isabelle, which slow the builds down.
Might also be useful for running tests on very slow machines.
2018-06-01 15:19:37 +10:00
Rafal Kolanski 6961bf6648 misc: goto-error jEdit macro: handle errors, fix string compare
When updating to Isabelle 2017 the non-error case was neglected and gave
a stack dump rather than a sane message. This has now been addressed.

Apparently the Beanshell scripting environment in jEdit prior to 5.5.0
accepted '==' as string comparison. In 5.5.0 it is no longer accepted,
and requires .equals() as in normal Java.
2018-05-31 11:10:40 +10:00
Thomas Sewell 5fb1fcdf80 run_tests: dry run mode.
The run_tests script already has a -l/--list option to list all tests.
This adds a -L/--dry-run option to list the requested tests, which makes it
easier to figure out what tests -r/-x etc would select.

Also clarify in --help that -v adds more info to -l.
2018-03-15 14:31:45 +11:00
Rafal Kolanski 623f216d94 regression: meta-regression improvements for timeout_output
- timeout_output looks for isabelle relative to its file path
- run_tests looks for timeout_output relative to its file path
- output from timeout_output is utf8-decoded before attempting to
  concatenate with other strings

Meta-regression should now pass.
2018-01-23 13:27:48 +11:00
Thomas Sewell 77837d16ac Fix for python3 in run_tests.py.
We require run_tests.py to work with both python2 and python3, which requires
particular syntax for exception handling.
2018-01-23 11:48:11 +11:00
Thomas Sewell 18cf880573 run_tests: Create and fetch timing/timeout info. 2018-01-22 12:04:08 +11:00
Matthew Brecknell 379fafe084 Isabelle2017: add session-qualified imports to gen_isabelle_root 2017-10-30 12:23:26 +11:00
Matthew Brecknell a5b544fd5b Isabelle2017: ignore certain session-qualified imports in check_theory_imports 2017-10-30 12:23:26 +11:00
Rafal Kolanski cc0f50790b Isabelle2017: update Isabelle/jEdit goto-error macro for RC0 2017-10-30 12:23:26 +11:00
Matthew Brecknell 184d6b70b7 remove most tab characters 2017-10-20 14:22:36 +11:00
Adrian Danis 49d6cf721b Munge test: Delete munge tests that have been moved to a new repository
tags: [NO_PROOF]
2017-09-28 15:21:11 +10:00
Matthew Brecknell 85a20c08a5 theory_imports: depend on c-kernel instead of CParser
The theory_imports regression test requires bitfield-generated theory
files. Previously, the theory_imports regression test depended on
CParser, and explicitly invoked "make" to ensure bitfield-generated
theories were present. However, these theories can also be generated by
the CKernel regression test. This meant that it was non-deterministic
whether bitfield-generated theories were generated during the
theory_imports regression test or the CKernel regression test.

This change adds a c-kernel regression test which generates the relevant
theories for the current L4V_ARCH, and makes both theory_imports and
CKernel depend on c-kernel. This ensures that those theories are always
generated during the c-kernel test, and should therefore make run_tests
timing results for the CKernel image more consistent.

Unfortunately, the check_theory_imports script does not have an easy way
to restrict itself to theories for the current L4V_ARCH, so the script
still needs to invoke "make c-kernel" for architectures other than the
current L4V_ARCH.
2017-09-12 14:47:24 +10:00
Matthew Brecknell ae91c097d4 regression: ignore undefined tests in `run_tests.py -r ...`
The run_tests wrapper explicitly excludes any tests which are known to
fail on certain L4V_ARCH settings. The list of excluded tests includes
some tests which are only defined in private/internal repositories.

Recent changes to run_tests.py and testspec.py assumed that tests
excluded using `run_tests.py -r ...` would be defined in tests.xml
files. This caused regression to fail when performed with only
publicly-available repositories.

This change allows use of the `run_tests.py -r ...` option with test
names that are not defined in any tests.xml files.

tags: [NO_PROOF]
2017-09-07 15:01:34 +10:00
Matthew Brecknell 43f95c8a09 regression: collect more dependency information 2017-08-21 17:49:45 +10:00
Matthew Brecknell e0e8a0a20b regression: refactor tests.xml parser 2017-08-21 17:49:45 +10:00
Matthew Brecknell c03548d9a8 regression: always parse tests.xml strictly 2017-08-21 17:15:34 +10:00
Matthew Brecknell 064c8b0718 regression: remove legacy run_tests options 2017-08-21 17:15:34 +10:00
Matthew Brecknell 2a2b3b9cbe regression: clean up testspec and run_tests.py 2017-08-21 17:15:34 +10:00
Joel Beeren f05bc45d59 misc: clean up before merging x64 2017-08-11 11:49:18 +10:00
Matthew Brecknell 752dd0794f x64 regression: add x64 to theory_imports check 2017-08-09 17:00:56 +10:00
Matthew Brecknell 740a74704a regression: ensure haskell-translator runs before theory_imports 2017-08-09 16:57:42 +10:00
Matthew Brecknell 238e8b307e x64: merge master 2017-07-21 11:27:12 +10:00
Alejandro Gomez-Londono 796887d9b1 Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
Alejandro Gomez-Londono 4671d2615a test: run_tests.py now prints a warning when excluding unknown tests (with [-x] [-r])
* This allows mentioning internal tests in exclusion lists without
    breaking external (github) builds

    tags: [NO_PROOF]
2017-06-26 15:21:06 +10:00
Alejandro Gomez-Londono 74500bd829 arm-hyp test: Adding exclusion test set for ARM_HYP + cleanup 2017-06-19 14:32:43 +10:00
Alejandro Gomez-Londono a9d7c199c7 test: check_theory_imports multi arch support 2017-06-19 14:32:32 +10:00
Alejandro Gomez-Londono ee71ad77a0 arm-hyp test: Fix race condition between isabelle and isabelle_ARM 2017-06-19 14:32:24 +10:00
Alejandro Gomez-Londono 4a76aec383 arm-hyp test: Fix race condition between ARM tests 2017-06-19 14:32:24 +10:00
Alejandro Gomez-Londono 0a31fa7fe4 Remove spec-check test and scripts 2017-05-12 12:50:55 +10:00
Joel Beeren ce2220286b misc: add whitespace removal tool
Also-by: Alejandro Gomez <Alejandro.Gomez@data61.csiro.au>
2017-03-29 18:07:21 +11:00
Daniel Matichuk b1f9defffa fix thydeps parser to handle % in keyword syntax 2017-02-17 14:29:39 +11:00
Matthew Brecknell f6d8575bdf Isabelle2016-1: update check_theory_imports with new Word_Lib dependency 2017-01-05 14:26:35 +11:00
Thomas Sewell 68e22b2d14 Slightly reduce run_tests.py CPU usage.
The watch_kill_switch loop was pretty busy, adding a simple
timeout reduces CPU consumption.

The CPU consumption of run_tests.py is still higher than I'd expect
to just update a terminal, but I don't know where to investigate
further.
2016-11-02 11:19:10 +11:00
Matthew Brecknell 0212696e60 VER-643: make regression compatible with psutil 4.1.0+
At version 4.1.0, the Python psutil package changed the way it reports
CPU times for processes. This commit ensures that regression tests are
compatible with both old and new psutil APIs.
2016-10-07 09:23:20 +11:00
Matthew Brecknell 569cd2822e thydeps: support Perl version 5.24
Perl version 5.24 no longer allows use of $_ as a lexical variable.
2016-10-04 12:04:36 +11:00
Alejandro Gomez-Londono 0c29567bb2 Regression: re-applying [094fb48623] to fix run_tests.py
The changes on [094fb48623] where (for some weird reason) removed from
run_tests.py in the last update, this commit merely re-apply those
changes.
2016-08-29 17:08:34 +10:00
Thomas Sewell 8b2818299a Read extra_tests as relative to dir it is in. 2016-08-26 16:59:27 +10:00