History log of /netbsd-current/tests/lib/libcurses/director/testlang_parse.y
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.54 10-Dec-2023 rillig

tests/libcurses: constify


Revision tags: netbsd-10-0-RC1 netbsd-10-base
# 1.53 13-Jun-2021 rillig

tests/libcurses: sprinkle 'const', normalize sizeof

No functional change.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.52 06-Apr-2021 rillig

tests/libcurses: fix names of over-the-wire data types

The test 'mvscanw' reported that it would send '%s' as 'numeric', which
was rather suspicious.


# 1.51 06-Apr-2021 rillig

tests/libcurses: clean up table of input functions

The previous "table" was an insult to any reader. It was unsorted,
listed the functions shuffled, and was not even formatted consistently.

No functional change.


# 1.50 06-Apr-2021 rillig

tests/libcurses: don't waste time calling strlen needlessly


# 1.49 15-Feb-2021 joerg

Simplify to avoid copy based on the size of the source.


# 1.48 15-Feb-2021 rillig

tests/libcurses: fix error handling for non-system errors

These errors are unrelated to errno. The scanf family of functions also
does not set errno.


# 1.47 13-Feb-2021 rillig

tests/libcurses: fix error messages


# 1.46 13-Feb-2021 rillig

tests/libcurses: clean up inclusion guards, function declarations

No functional change.


# 1.45 13-Feb-2021 rillig

tests/libcurses: fix pipe handling in the parent process

The parent process, like the child process, needs only 2 of the 4 pipe
ends.

In verbose mode (now at testlang_parse.y:1151 and :1154), both ends of the
pipe_from_slave were examined. This looked like a typo and has been fixed
to those pipe ends that are relevant to the parent process.


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.53 13-Jun-2021 rillig

tests/libcurses: sprinkle 'const', normalize sizeof

No functional change.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.52 06-Apr-2021 rillig

tests/libcurses: fix names of over-the-wire data types

The test 'mvscanw' reported that it would send '%s' as 'numeric', which
was rather suspicious.


# 1.51 06-Apr-2021 rillig

tests/libcurses: clean up table of input functions

The previous "table" was an insult to any reader. It was unsorted,
listed the functions shuffled, and was not even formatted consistently.

No functional change.


# 1.50 06-Apr-2021 rillig

tests/libcurses: don't waste time calling strlen needlessly


# 1.49 15-Feb-2021 joerg

Simplify to avoid copy based on the size of the source.


# 1.48 15-Feb-2021 rillig

tests/libcurses: fix error handling for non-system errors

These errors are unrelated to errno. The scanf family of functions also
does not set errno.


# 1.47 13-Feb-2021 rillig

tests/libcurses: fix error messages


# 1.46 13-Feb-2021 rillig

tests/libcurses: clean up inclusion guards, function declarations

No functional change.


# 1.45 13-Feb-2021 rillig

tests/libcurses: fix pipe handling in the parent process

The parent process, like the child process, needs only 2 of the 4 pipe
ends.

In verbose mode (now at testlang_parse.y:1151 and :1154), both ends of the
pipe_from_slave were examined. This looked like a typo and has been fixed
to those pipe ends that are relevant to the parent process.


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.52 06-Apr-2021 rillig

tests/libcurses: fix names of over-the-wire data types

The test 'mvscanw' reported that it would send '%s' as 'numeric', which
was rather suspicious.


# 1.51 06-Apr-2021 rillig

tests/libcurses: clean up table of input functions

The previous "table" was an insult to any reader. It was unsorted,
listed the functions shuffled, and was not even formatted consistently.

No functional change.


# 1.50 06-Apr-2021 rillig

tests/libcurses: don't waste time calling strlen needlessly


# 1.49 15-Feb-2021 joerg

Simplify to avoid copy based on the size of the source.


# 1.48 15-Feb-2021 rillig

tests/libcurses: fix error handling for non-system errors

These errors are unrelated to errno. The scanf family of functions also
does not set errno.


# 1.47 13-Feb-2021 rillig

tests/libcurses: fix error messages


# 1.46 13-Feb-2021 rillig

tests/libcurses: clean up inclusion guards, function declarations

No functional change.


# 1.45 13-Feb-2021 rillig

tests/libcurses: fix pipe handling in the parent process

The parent process, like the child process, needs only 2 of the 4 pipe
ends.

In verbose mode (now at testlang_parse.y:1151 and :1154), both ends of the
pipe_from_slave were examined. This looked like a typo and has been fixed
to those pipe ends that are relevant to the parent process.


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.49 15-Feb-2021 joerg

Simplify to avoid copy based on the size of the source.


# 1.48 15-Feb-2021 rillig

tests/libcurses: fix error handling for non-system errors

These errors are unrelated to errno. The scanf family of functions also
does not set errno.


# 1.47 13-Feb-2021 rillig

tests/libcurses: fix error messages


# 1.46 13-Feb-2021 rillig

tests/libcurses: clean up inclusion guards, function declarations

No functional change.


# 1.45 13-Feb-2021 rillig

tests/libcurses: fix pipe handling in the parent process

The parent process, like the child process, needs only 2 of the 4 pipe
ends.

In verbose mode (now at testlang_parse.y:1151 and :1154), both ends of the
pipe_from_slave were examined. This looked like a typo and has been fixed
to those pipe ends that are relevant to the parent process.


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.48 15-Feb-2021 rillig

tests/libcurses: fix error handling for non-system errors

These errors are unrelated to errno. The scanf family of functions also
does not set errno.


# 1.47 13-Feb-2021 rillig

tests/libcurses: fix error messages


# 1.46 13-Feb-2021 rillig

tests/libcurses: clean up inclusion guards, function declarations

No functional change.


# 1.45 13-Feb-2021 rillig

tests/libcurses: fix pipe handling in the parent process

The parent process, like the child process, needs only 2 of the 4 pipe
ends.

In verbose mode (now at testlang_parse.y:1151 and :1154), both ends of the
pipe_from_slave were examined. This looked like a typo and has been fixed
to those pipe ends that are relevant to the parent process.


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.47 13-Feb-2021 rillig

tests/libcurses: fix error messages


# 1.46 13-Feb-2021 rillig

tests/libcurses: clean up inclusion guards, function declarations

No functional change.


# 1.45 13-Feb-2021 rillig

tests/libcurses: fix pipe handling in the parent process

The parent process, like the child process, needs only 2 of the 4 pipe
ends.

In verbose mode (now at testlang_parse.y:1151 and :1154), both ends of the
pipe_from_slave were examined. This looked like a typo and has been fixed
to those pipe ends that are relevant to the parent process.


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.44 09-Feb-2021 rillig

tests/libcurses: add missing space after control flow keywords


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.43 08-Feb-2021 rillig

tests/libcurses: fix off-by-one error in line numbers in diagnostics

I had broken this in testlang_parse.y 1.22 from 2021-02-07, when I
extracted the common 'eol' from the statements. Extracting 'eol' had
the effect that the action for the statement was run before the line
number increased.

Now the line numbers in the diagnostics are the same again as before.

For lines that end with a backslash, the reported line number is the one
from the last of these lines, not the first one, also as before. This
feature is not used by any of the current tests though.


# 1.42 08-Feb-2021 rillig

tests/libcurses: use consistent indentation for grammar rules


# 1.41 08-Feb-2021 rillig

tests/libcurses: extract functions 'input' and 'noinput' from grammar


# 1.40 08-Feb-2021 rillig

tests/libcurses: indent grammar functions consistently


# 1.39 08-Feb-2021 rillig

tests/libcurses: declare %type in grammar

It looks as if the original author just didn't know how to declare the
type of non-terminals. The explicit types in the '$' expressions were
all consistent.

No functional change.


# 1.38 08-Feb-2021 rillig

tests/libcurses: extract function 'delay_millis' from the grammar


# 1.37 08-Feb-2021 rillig

tests/libcurses: move function 'check' out of the grammar section

This removes the inconsistent indentation.


# 1.36 08-Feb-2021 rillig

tests/libcurses: fix typo in license text


# 1.35 08-Feb-2021 rillig

tests/libcurses: remove unused token DRAIN

There is a special function named 'DRAIN', but not a statement. The
function name does not need its own token.


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.34 07-Feb-2021 rillig

tests/libcurses: use a single message style for diagnostics

Previously, there were several concurring styles:

$msg in line %zu of file %s
$msg line %zu of file %s
%s, %zu: $msg

All these are now replaced with "%s:%zu: $msg".


# 1.33 07-Feb-2021 rillig

tests/libcurses: make grammar for test cases conflict-free

No functional change.


# 1.32 07-Feb-2021 rillig

tests/libcurses: fix grammar for arrays

Previously, commas were completely ignored by the grammar. Erroring out
on invalid characters made some of the tests fail since the comma was
not recognized anymore. Add it back, but only for defining arrays. It
would have been possible to leave out the commas or make them optional,
but since the current tests do not make use of that, keep the grammar as
strict as possible.

Fix an unclosed string literal in a test. This had been wrongly
accepted before by the grammar.


# 1.31 07-Feb-2021 rillig

tests/libcurses: add missing semicolon in grammar


# 1.30 07-Feb-2021 rillig

tests/libcurses: add const to some function parameters


# 1.29 07-Feb-2021 rillig

tests/libcurses: simplify code for writing to the .exp file

If a write(2) returns less than 1, it must be an error.


# 1.28 07-Feb-2021 rillig

tests/libcurses: actually compare the stream to an absolute path

Up to now, the test command "compare /dev/null" was a no-op since the
command was only parsed but not run at all. Now run it.

This makes the test mvwin fail. That test will have to be fixed.

Comparing to /dev/null is certainly possible and may make sense,
comparing to /dev/zero is nonsense since the actual stream can never be
endless. Some tests do that nevertheless, for whatever reason.

In order to have the expected test output closer to the curses commands
that cause it, it may be a good idea to add another command
'compare_str' that would work independently of an external file and at
the same time allow the expected output to be commented and explained.
This is not possible right now since the .chk files are read exactly
as-is.


# 1.27 07-Feb-2021 rillig

tests/libcurses: use more common abbreviations for tokens


# 1.26 07-Feb-2021 rillig

tests/libcurses: use standard indentation for grammar rule 'arg'


# 1.25 07-Feb-2021 rillig

tests/libcurses: extract grammar rule 'arg'


# 1.24 07-Feb-2021 rillig

tests/libcurses: fail on syntax errors in test files

Previously, a syntax error in a test file made the test pass, which was
outright dangerous.


# 1.23 07-Feb-2021 rillig

tests/libcurses: use a single indentation style in the test grammar

The grammar rule 'args' has been left as-is since it needs to be split
into 'args' and 'arg' first, to avoid the redundancy.

The braces in "if (create_check_file)" were misleading. It's strange that
GCC didn't reject this.


# 1.22 07-Feb-2021 rillig

tests/libcurses: clean up test case grammar for statements

Previously, each statement ended with 'eol'. This was unnecessarily
verbose since the 'eol' is not really part of the statement, it's part
of a line.

No functional change.


# 1.21 07-Feb-2021 rillig

tests/libcurses: fix name of grammar rule

A list of assignments is not a statement, it's several statements.

No functional change.


# 1.20 07-Feb-2021 rillig

tests/libcurses: unary minus doesn't make sense on bool expressions

No functional change since -1 is as non-zero as 1.


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.19 24-Oct-2020 roy

Remove extra parens


# 1.18 24-Oct-2020 blymn

Merge in code from Google Summer of Code project which dramatically
increases the number of tests performed.

Thanks to Naman Jain <jnaman806@gmail.com> for his excellent work on
this GSoC project.


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.17 23-Apr-2020 joerg

saved_output is owned by director.c


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: netbsd-8-2-RELEASE phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

branches: 1.14.16;
add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests


# 1.16 19-Sep-2019 blymn

Rototill to add complex character support:

- Add cchar command to director test language to allow a complex character
to be defined and passed to the slave.
- Removed the distinction between args and returns internally to prevent
confusing the two which leads to errors and/or crashes.
- Converted mutt_test to use the new cchar definition and fixed the
check files for the test.


Revision tags: netbsd-9-base
# 1.15 11-Jun-2019 blymn

Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.


Revision tags: phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.14 04-Jan-2015 christos

add proper include files.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
# 1.13 19-Sep-2012 blymn

* Add scanw family function calls as input functions


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.12 15-Sep-2011 christos

branches: 1.12.2; 1.12.8;
fix printf format strings


# 1.11 15-Sep-2011 blymn

- Add erase and kill to the terminal attributes so we can test
fetching them
- Remove functions from the input_functions array that don't really do
input
- Re-enable the reporting of poll events after a function call
- Check that the return_type from the slave matches the expected one
- If verbose then print out the byte streams being compared in
validate_byte
- When reporting a length mismatch during a byte validation, report
the actual lengths.


# 1.10 08-Sep-2011 blymn

- Add a delay just after the function is passed to the slave, this
gives the slave time to process the command and produce output before
the director drains output from the slave. This is particularly
important when the slave is set up for timed input because the ioctl
used by curses to set the tty parameters waits for pending output to
drain.
- make a debug statement conditional on verbose again
- make a warning about output from the slave conditional on verbose
- fix setting the minimum input delay, it should be milliseconds not
nanoseconds.
- Handle nanosleep returning early due to a signal, restart the sleep
with the remaining time.


# 1.9 29-Aug-2011 christos

- err -> errx mistakes
- make sure that -v does not change the program behavior
- don't set revents in poll
- add more debugging
- only call read when we have POLLIN
- don't mix I/O from master while processing input


# 1.8 18-Aug-2011 christos

Fix enums confusion.


# 1.7 18-Jun-2011 joerg

Try to initialize retval to something sensible.


# 1.6 17-Jun-2011 christos

vis'ify the excess byte printing so that xstlproc does not barf.


# 1.5 17-Jun-2011 christos

- pass things in arguments instead of environment
- sanity check arguments
- disable extra data warning, old tests gave it too
- print more detailed errors
- use err/warn more
*some tests still fail; more than they used to*


# 1.4 11-Jun-2011 christos

Turn warns on for all tests and fix all the bugs.


Revision tags: cherry-xenmp-base
# 1.3 15-May-2011 christos

branches: 1.3.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.


# 1.2 21-Apr-2011 blymn

Allow a NULL pointer to be passed as an argument to a call.


# 1.1 10-Apr-2011 blymn

Add atf for libcurses with some tests