Commit Graph

203 Commits

Author SHA1 Message Date
Gerwin Klein 445efb7c29 lib: closure for Word_Lib and own session 2016-05-16 21:11:40 +10:00
Alejandro Gomez-Londono 094fb48623 VER-525: run_tests handles dependencies incorrect (solved) 2016-05-10 14:15:32 +10:00
Japheth Lim 10d3a0d6fb regression: add Word to "isabelle" test so other tests don't try to build it in parallel. 2016-04-14 21:20:23 +10:00
Japheth Lim 874e1998e5 Fix up c-parser and autocorres for AutoCorres 1.2 release. 2016-03-30 17:48:27 +11:00
Japheth Lim ff270121c9 Isabelle zsh completion: handle no options (yxml); handle '=' in arg (jedit -D). 2016-03-16 14:53:12 +11:00
Japheth Lim 2060976f51 Isabelle zsh completion: allow multiple -d's; use proper path expansion. 2016-03-16 14:32:33 +11:00
Japheth Lim 4c89da8b0c regression: restore Python 3 compat. 2016-02-25 11:44:49 +11:00
Japheth Lim 66e94dcf76 regression: decode test output as UTF-8, not ASCII. 2016-02-19 12:00:03 +11:00
Japheth Lim b1ba5037c4 regression: compatibility fix for very old versions of bash (Mac OS). 2016-02-17 14:59:42 +11:00
Rafal Kolanski 4c18f6606b Merge pull request #17 in SEL4/l4v from ~JALIM/l4v:master to master
* commit '63f1a0854a58a9c39d64d7ca8482bf2dd65b68c5':
  regression: add --grace-period option to allow tests to clean up.
2016-02-17 03:56:25 +00:00
Japheth Lim 63f1a0854a regression: add --grace-period option to allow tests to clean up. 2016-02-17 11:19:13 +11:00
Gao Xin bee4ba0052 l4v-sabre: fix refine 2016-02-17 11:18:02 +11:00
Thomas Sewell 9c563f01ca L4V support for using skip cache.
Ignore the cache files. Also, add a flag which has run_tests.sh
build the skip cache.
2016-02-10 15:39:47 +11:00
Japheth Lim ec49042ec8 regression: fix bug in -x (from 5c776152b). 2016-02-05 12:16:21 +11:00
Rafal Kolanski 557418e8da jedit goto-error macro doc: installation path can be subdir
Since writing this, we have discovered that macros can live in arbitrary
hierarchies inside the macros folder, e.g. jedit/macros/Isabelle/, which
then show up in the macros menu. Very nice. Installation instructions
updated.
2016-02-05 09:49:42 +11:00
Japheth Lim 5c776152b3 regression: add -x option to exclude tests from running. 2016-02-04 15:22:39 +11:00
Japheth Lim 404b779e21 regression: add --fail-fast option; refactor stringly typed code. 2016-02-03 17:44:12 +11:00
Japheth Lim e409f357e9 trivial: regression: fix comment about floating-point discrepancy. 2016-02-03 14:22:01 +11:00
Japheth Lim 2f94189c7b regression: detect builds that get stuck without using CPU.
Such builds would have bypassed the cpu-timeout test settings
but can now be detected and killed.
2016-02-02 17:58:19 +11:00
Japheth Lim 253b04f6d9 regression: use CPU instead of real-time timeouts for all tests.
Also update and clarify test spec documentation.
2016-02-01 19:51:13 +11:00
Japheth Lim 0001e839bc regression: fix floating-point rounding that would fail the CPU monotonicity check. 2016-02-01 16:47:28 +11:00
Japheth Lim 25fc04eae0 regression: only print start-of-test messages if stdout is a tty.
This avoids clutter in non-tty outputs, such as regression emails.
2016-02-01 16:26:41 +11:00
Japheth Lim 625c15626d Merge pull request #9 in SEL4/l4v from regression-cputime to master
* commit '84e5f7d81403549f9d88fab3bf0da02b657f47bc':
  regression: change CPU time non-mono from an error to a warning, so that it doesn't kill an otherwise working build.
  style: regression: refactor use of print_test_line.
  regression: report CPU usage; support timeouts based on CPU usage.
2016-02-01 05:23:47 +00:00
Japheth Lim 84e5f7d814 regression: change CPU time non-mono from an error to a warning, so that it doesn't kill an otherwise working build. 2016-02-01 16:15:14 +11:00
Japheth Lim ac29ffc539 Merge pull request #7 in SEL4/l4v from ~CRICHARDSON/l4v:python3 to master
* commit 'af60787317365e05fe03df3d98a41fe9b8740b04':
  various scripts: use print_function uniformly for python3 compat
  regression: decode test output immediately
  regression: python3 compat, use byte literals where bytes are expected
  regression: python3 compat, Queue -> queue
2016-01-29 06:27:58 +00:00
Daniel Matichuk 8884a09a13 update isabelle settings to set L4V_ARCH to ARM by default 2016-01-29 13:46:26 +11:00
Japheth Lim 19b4b76ea8 style: regression: refactor use of print_test_line. 2016-01-29 11:53:52 +11:00
Corey Richardson af60787317
various scripts: use print_function uniformly for python3 compat 2016-01-28 16:11:07 +11:00
Daniel Matichuk 62e44db4df arch_split: fixed test_spec 2016-01-28 15:13:11 +11:00
Japheth Lim 197f48a25f regression: report CPU usage; support timeouts based on CPU usage. 2016-01-27 19:24:42 +11:00
Corey Richardson 5370e01b67
regression: decode test output immediately 2016-01-22 15:16:58 +11:00
Corey Richardson 8133f8a292
regression: python3 compat, use byte literals where bytes are expected 2016-01-21 19:00:06 +11:00
Corey Richardson e6d3bd31f8
regression: python3 compat, Queue -> queue 2016-01-21 18:59:30 +11:00
Daniel Matichuk c282969c54 Merge remote-tracking branch 'verification/master' into arch_split 2016-01-21 10:22:48 +11:00
Japheth Lim dcce50ce79 regression: make --junit-report output more Bamboo-friendly. 2016-01-14 15:55:43 +11:00
Japheth Lim ea38a3303d regression: get dependency tracking to work again. 2016-01-14 11:59:20 +11:00
Japheth Lim 2c7a36e4f1 regression: fix a bug that prevented the printing of failure logs. 2016-01-14 11:27:08 +11:00
Japheth Lim 5892043915 regression: add option to produce JUnit-style report. For Bamboo usage. 2016-01-13 18:01:23 +11:00
Japheth Lim 0afc807807 regression: remove assertion because it may go off spuriously for skipped tests. 2016-01-13 17:10:31 +11:00
Japheth Lim aab9c38901 regression: prefer explicit isabelle path over using PATH. 2016-01-13 16:59:25 +11:00
Japheth Lim 65e98199e1 regression: adjust unnecessarily large test timeouts.
Some tests had timeouts of up to 4 hours. Note that timeouts are
applied on a per-test basis, not per-testsuite. This is now clarified
in the tests.xml documentation.
2016-01-13 16:59:25 +11:00
Japheth Lim e66cba5466 regression: handle dependencies correctly for manually specified tests. 2016-01-13 16:59:25 +11:00
Daniel Matichuk fad2c6aae9 paramatrised abstract and haskell specs over L4V_ARCH
Haskell translator was modified to support multiple translations
of the haskell, with different build parameters.
2016-01-13 12:01:40 +11:00
Japheth Lim cf1dc6852f regression: don't try to kill pids that have already finished.
Reduces errors due to pid reuse, such as in this regression build
  Regression SUCCESS (2015-12-11 04:55:36)
2016-01-11 15:34:36 +11:00
Japheth Lim 46afb6d0fd regression: fix status line behaviour to match docs. 2016-01-08 17:06:54 +11:00
Matthew Fernandez 81fe5cbd67 misc/pysymbols: Merge some CAmkES functionality for generating apply-style.
This commit resurrects some bitrotted support for generating apply-style proofs
from Python. It is somewhat incomplete and untested, but can serve to make
template proofs much more readable.
2016-01-08 15:47:14 +11:00
Matthew Fernandez de77df45aa misc/pysymbols: Move IsaSymbolsException to a separate file. 2016-01-08 15:47:04 +11:00
Japheth Lim 71143907be regression: Python style fixes (credit: Matt F). 2016-01-07 20:41:45 +11:00
Japheth Lim 26eb9eba44 trivial: regression: revert unintended change in timeout handling. 2016-01-07 17:56:18 +11:00
Japheth Lim 2cdbadca87 regression: add status line for ttys; fix timeout and Python var scoping. 2016-01-07 17:49:22 +11:00
Japheth Lim 7d24c4a5b5 regression: parallelise run_tests.py. New options: -j, --legacy-status. 2016-01-07 17:22:00 +11:00
Gerwin Klein da5f50aa94 Merge pull request #3 in SEL4/l4v from ~MFERNANDEZ/l4v:23e130d5-6f13-4fa3-ae00-e1c8174f2cb9 to master
* commit '56dfa8cca7981055b50969cdf787f2557e827233':
  misc: Add vim syntax files.
2016-01-06 04:03:13 +00:00
Matthew Fernandez 56dfa8cca7 misc: Add vim syntax files. 2016-01-06 13:57:08 +11:00
Matthew Fernandez 17538634db misc: Replace inline file merge implementation with isasymbols.
This change means we no longer need to manually update these files when
Isabelle incorporates new unicode symbols. In particular, these translators
will automatically gain support for symbols like "\<longlonglongrightarrow>"
when we move to Isabelle 2016.
2016-01-04 14:01:22 +11:00
Corey Richardson 1ad00aa1ae misc/regression/memusage.py: work around psutil API changes
Closes #5
2015-10-28 18:49:55 +11:00
Matthew Fernandez 5294d36438 misc/pysymbols: Support for sub/superscripts in code blocks.
Inline code from a Markdown source (`like this`) is typically translated
without the assistance of Pygments. As a result we don't get automatic
subscript and superscript support, and need to roll our own. This translation
is pretty blunt and fragile. Expect it to fall over in a TeX error if you pass,
e.g., a "\<^bsub>" without a closing "\<^esub>".
2015-10-15 15:02:45 +11:00
Matthew Fernandez c58d1c615e misc/filemerge: Add an optimised version of this translator.
Because sometimes light speed is too slow.
2015-10-14 11:02:02 +11:00
Corey Richardson d28994d860 Consistently use /usr/bin/env to invoke python 2015-10-13 16:42:53 +11:00
Matthew Fernandez 1570e45c80 misc/pysymbols: Add support for encoding to TeX.
You probably do *not* want to use this functionality to go straight from THY
files to TeX. The motivation for this is translating inline code in Markdown
(`like this`) into something TeX-able. In particular, we assume all relevant
Isabelle styles and preamble are already in scope.
2015-10-12 19:37:43 +11:00
Matthew Fernandez 69dfc12cda misc/pysymbols: Don't translate entities like "\<^bsub>" into unicode.
The code points of the xsymbols whose ASCII text begins with "\<^" appear to be
a ruse. Their unicode characters do not correspond to their intent because
they are actually format markers. For example, "\<^bsub>" maps to something
described as "south east double arrow," but is intended to mean "start
subscript."

It turns out we do not need to encode these at all because a sufficiently
clever Pygments can interpret their ASCII representations. One such clever
instance is [0]. This commit removes encoding of all symbols whose ASCII
representation begins with "\<^" under the assumption they will be handled by a
later tool in your pipeline.

  [0]: https://bitbucket.org/lsf37/pygments-main/branch/sub-super
2015-10-12 19:34:15 +11:00
Matthew Fernandez bcf211a3ba misc/pysymbols: Optimise unicode to ASCII translation.
With larger THY snippets, this translation can become a noticeable bottleneck.
2015-10-12 19:32:28 +11:00
Matthew Fernandez 37670b4109 misc/regression: Use more portable `os.devnull`. 2015-10-08 12:15:33 +11:00
Matthew Fernandez 9732e8b472 misc/regression: Remove unnecessary import. 2015-10-08 10:08:14 +11:00
Matthew Fernandez 47d5b746fc misc: Support for space translation in etc/symbols decoding.
See 74eddfef841e of Isabelle itself for the changeset that implements it.
2015-10-06 17:17:13 +11:00
Matthew Fernandez ffc7b107e5 misc: Add a Python module for dealing with Isabelle symbols. 2015-10-06 17:15:48 +11:00
Japheth Lim 683fd8fbb1 regression: fix infinite loop in testspec.py. 2015-09-30 15:37:07 +10:00
Matthew Fernandez bb9e9d94b8 misc/filemerge: Remove unnecessary import. 2015-09-29 13:44:55 +10:00
Ramana Kumar 2b8d8587d8 testspec.py: python3 support (python2 should still work too) 2015-09-16 21:29:12 +10:00
Rafal Kolanski 818181db9e JEdit macro: goto-error (first version)
Jumps to first error in current theory file (presumably the currently
focused textArea).

The buffer overview indicates where the error is, but it's hard to go
directly to the offending command, and in large files the overview
buffer doesn't cover the whole file anyway.
2015-08-24 03:03:49 +10:00
Matthew Fernandez 7e3b35d348 misc/autostop: Teach stop how to send SIGABRT and SIGTERM. 2015-07-02 15:28:14 +10:00
Japheth Lim 8e70524fc6 Improve zsh completion script and update slightly for 2015. 2015-06-22 20:42:28 +10:00
Gerwin Klein cfec9ea0db Merge branch 'master' into 2015 2015-05-28 11:45:13 +10:00
Gerwin Klein 0000b7890c misc/etc: standard settings for large builds 2015-05-27 17:26:28 +10:00
Matthew Fernandez aa15249aff misc/regression: Fix some trivial typos. 2015-05-27 16:23:20 +10:00
Matthew Fernandez 7bf834300d misc/regression: Fix colouring.
ANSI terminal code 37 is white; 38 is the start of an extended colour sequence.
2015-05-27 16:22:41 +10:00
Gerwin Klein d05b74ada6 misc/proof-indent.bsh: add installation instructions 2015-05-12 17:17:46 +02:00
Matthew Fernandez be313240f4 misc: Add a jEdit macro for forcing a PolyML GC. 2015-03-02 11:19:38 +11:00
Japheth Lim af21e7d7de regression: make memusage do nothing if psutil is not installed. 2015-01-21 18:27:03 +11:00
David Greenaway 4ef7cf0966 git-commit-email: Reduce wait time after sending an email.
The sleep time helps to avoid overloading servers if a bug causes the
script to send emails in an infinite loop. Now that the script has been
running a while and we have a little more confidence in it, we reduce
the timeout to speed up deliveries of email.
2014-12-16 13:11:23 +11:00
David Greenaway 458e87f52d misc: Add commit email script.
Script looks for new commits in a git repository and sends summary
information to an email address.
2014-12-16 13:09:38 +11:00
Matthew Fernandez e846657e0f misc: Add options to constrain autostop's bloodthirsty rampage.
Autostop is quite handy for keeping your system under control, but when things
go pear shaped the guidance provided by Linux's OOM score doesn't necessarily
align with what the user cares about. In particular, it can take down parts of
your windowing subsystem or a harmless browser tab going about its business.
This commit adds command line options to give autostop a list of processes
which are the only ones you would like stopped. Existing behaviour remains
unchanged.
2014-12-04 09:50:41 +11:00
Matthew Fernandez ad669f928f misc: Optimise filemerge scripts.
When streaming a large theory through these scripts, doing string replacements
line-by-line and repeated dictionary lookups become a significant performance
overhead. Relevant observable functionality should be unaffected by this
change.
2014-11-18 11:22:45 +11:00
David Greenaway 57aee43b37 memusage: Avoid race when fetching children of exiting process. 2014-11-18 07:58:32 +11:00
David Greenaway 2f50a1d20d memusage: Initally poll at a higher frequency to get better stats on short-lived processes. 2014-11-06 12:13:00 +11:00
David Greenaway ea449f2003 memusage: Ignore processes we don't have permission to stat. 2014-11-06 12:12:35 +11:00
David Greenaway 2f281e0955 trivial: run_tests: Reserve more visual space when printing memory usage.
The idea is that things should be right-aligned in the typical case.

99.99GB ought to be enough for anybody.
2014-11-06 10:01:48 +11:00
David Greenaway f9d1fb999f trivial: run_tests: Tweak variable name. 2014-11-06 10:01:11 +11:00
Matthew Fernandez ff0248e47c misc: Add memory usage information to run_tests output. 2014-11-06 09:57:55 +11:00
David Greenaway 8da7c7a3e5 run-tests: Print "TIMEOUT" instead of "FAILED" when a timeout occurs.
Also, cancel the alarm when the test finishes.
2014-10-30 17:58:13 +11:00
Matthew Fernandez bd1f043643 misc: Implement 'clean' and 'realclean' Makefile targets. 2014-10-21 22:51:29 +11:00
David Greenaway f90926c6e5 test_spec: Be more picky about blank lines.
Rolling back fbd3ce456a, which is now
unnecessary because the spec generator script generates nicer newlines.
2014-10-21 21:37:03 +11:00
Gerwin Klein fbd3ce456a Be less picky about empty lines. 2014-10-21 19:51:31 +11:00
David Greenaway 60b28a6e41 regression: Attempt to make "run_tests.py" better at cleaning up after itself.
Currently, when Ctrl+C is pressed, background "poly" processes often
continue to run, even if "pidspace" is being used. Eeew!

We now make a better attempt at killing our children when Ctrl+C is
pressed. In particular, we use the "psutil" python library instead of
the "timeout" binary. The former should be more portable, working on
MacOS X systems as well.

"psutil" and "pidspace" don't interact well; "psutil" doesn't seem to
find children inside the pidspace, which is problematic. Might need to
address this a little more in the future.

This patch dedicated to Matt.
2014-10-16 17:39:52 +11:00
David Greenaway 4d05b632df proof-indent: Update proof indent script for Isabelle 2014.
It is still a nasty hack, but now it seems to work with Isabelle 2014.
2014-09-29 15:46:54 +10:00
David Greenaway cf0d1abce6 Merge 'master' into 'isabelle-2014'.
Conflicts:
	proof/crefine/Fastpath_C.thy
	proof/drefine/KHeap_DR.thy
	proof/infoflow/Noninterference.thy
	spec/design/version
	sys-init/DuplicateCaps_SI.thy
	sys-init/InitTCB_SI.thy
	sys-init/Proof_SI.thy
	tools/asmrefine/SimplExport.thy
	tools/autocorres/tests/examples/SchorrWaite.thy
2014-09-17 14:21:13 +10:00
David Greenaway 5698dfcab3 run_tests.py: Avoid exception on failed tests.
Due to previous commit, which didn't adjust this line to deal with
the extra parameter in the "results" tuple. A statically-typed
language would have caught this.
2014-09-15 09:01:38 +10:00
David Greenaway d03021bea1 run_tests.py: Print wall-time taken after each test. 2014-09-15 08:58:28 +10:00
David Greenaway ad88ecc26a run_tests.py: Clarify comment in 'run_tests.py'. 2014-09-15 08:58:25 +10:00
David Greenaway fbc675c01e run_tests: Avoid crash when invalid test names given. 2014-09-10 13:51:48 +10:00
Gerwin Klein 424463426d More dependency description; added Mac cpp wrapper
Based on suggestions by @jserv and @bacam
See also https://github.com/seL4/l4v/pull/1
2014-08-03 13:01:58 +10:00
Gerwin Klein 8958f02c34 64bit by default, so C proofs work. 2014-07-28 17:49:17 +02:00
Gerwin Klein 798e891f1f allow ROOT path customisation from outside l4v/ 2014-07-21 17:18:43 +02:00
Gerwin Klein 2a03e81df4 Import release snapshot. 2014-07-14 21:32:44 +02:00