History log of /seL4-l4v-master/HOL4/src/parse/testutils.sml
Revision Date Author Comments
# d77d0c68 24-Aug-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Provide a regression test entry-point for pretty-printing output

Occasionally bare strings can be annoyingly ugly


# ff3ac4c4 28-Jul-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Avoid GC test warnings on low user times, and avoid a MoscowML bug

When MoscowML divides by 0.0 it raises Div.


# d3a6f8bf 15-Jun-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Flag really bad garbage collection performance in selftests

If you get one red number attached to a fast test in a large series of
tests, this is probably not fair: the GC is probably happening to cope
with the whole series.


# d8b294d0 08-Jan-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Improve printing of multiline pretty-printing test failures


# f1a1910f 23-Aug-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Provide 'quietly' in testutils to shut up messages and warnings

This just uses Feedback's existing facilities.


# 17578090 23-Jun-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Change testutils API to allow for counting of failures

Don't want to necessarily just always instantly abort. Changes die's
type from

string -> 'a

to

string -> unit

This causes a number of knock-on effects.


# eee03790 05-Mar-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Make equality of "tight" precedence by default

Start to work through knock-on effects of this.


# bcf5bc0a 31-Jan-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Make testutils.tprint remove newlines in string to be printed

In particular, if string to be printed is derived from a
pretty-printer (term's, say), then it may split a big term over
multiple lines and those lines then mess with pretty selftest output.
Instead, just replace newlines with single spaces.


# e00c7e37 05-Dec-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Modify testutils.require_msg and derivatives to return values

It can be useful to get back the result of a passing test for use in
further tests that build on that.

Knock-on effects where it is now not possible to simply List.app such
functions; they must now have their results explicitly ignored.


# 1c953ffc 28-Oct-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Have testutils.die automatically print out "FAILED"

Argument to die is then appended to that, but on a new line.

Adjust some selftests to take advantage of this, though of course, we
don't expect to see the FAILED output for any of them because they're
all passing.


# 7fc780b2 24-Oct-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

More tweaks to testutils

- change API of check_HOL_ERR to be tupled rather than curried (makes
it easier to write the (fn _ => true) predicate)
- add check_result entrypoint


# 654be2c5 24-Oct-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Tweak testutils

- output on failures now prettier
- more utility functions
- make 'a testresult same as 'a Exn.result


# 434e3f46 25-Sep-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix another conditional-expression p/printing oddity

The if-then- block wasn't necessarily aligned with the last else block
because the whole if-then-else wasn't guaranteed to appear in one
block to itself.

Closes #588

Also tweak error-reporting from testutils.tpp (use ␣ (U+2423) for
spaces to make spotting differences easier; control colours better).


# 6a82265c 22-Aug-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Add testutils functions to make testing for expected errors easier


# 86ff7046 21-Aug-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Use UTF8 functions for fiddling with strings in testutil output

Otherwise you can split UTF8 strings in bad places with functions such
as substring.


# 7c7ec861 20-May-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Make tty-output (Holmake and testutils) terminal-width aware

Holmake even checks for resizing every second so that long-running
jobs can have the terminal resized by the user and have the pretty
columns of jobs adjust accordingly.

Closes #526


# 09c5dc00 14-Mar-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Up to and boolTheory and slightly beyond


# 4dfc6bab 29-Dec-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Give testutils some test-colouring facilities


# 39fc2454 19-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Provide functions to make timing info easier to print in selftests


# 866be62d 27-Sep-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Add function for testing conversions into testutils


# 98eead12 27-Aug-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Make output in standard test of pretty-printing use Unicode quotes


# 990ce29e 10-Aug-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Handle infix cons-operators (like pred_set$INSERT) better

Still can't get past the self-test in src/pred_set/src

Term-grammars now maintain their own max-timestamp so that successive
rules' timestamps are guaranteed to increase. (Previously, the new
timestamp just got made bigger than the timestamps associated with
"related" grammar rules. This required a scan of all the grammar's
rules, and a careful definition of what it was to be related.)


# 4abacc73 23-Jul-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Add ability to add more text to test-diagnostic output


# 5ee86717 21-Nov-2016 Thomas Tuerk <thomas@tuerk-brechen.de>

testutils.sml: flag for preventing die to kill HOL

While writing selftests, it may be useful to just raise an exception
instead of killing the HOL4 process in case of error. The new reference
"really_die" allows this.


# e765035a 05-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Move Holmake & test verdicts one character left

This stops the rightmost character (the 'K' in 'OK', for example) from
being blanked by the clear-to-end-of-line formatting that gets output
after Holmake verdicts (as per 6828af9a21). If your screen is wider than
80 columns, you don't see this effect.


# 7640821e 21-Apr-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Move testutils to src/parse

It provides a convenient way to test pretty-printers, so depends on the
sources there.