Home | History | Annotate | only in /src/tests/lib/libcurses/director
History log of /src/tests/lib/libcurses/director
RevisionDateAuthorComments
 1.8 19-Jan-2014  apb Remove -O0 from CPPFLAGS, and instead set
COPTS.testlang_parse.c += -Wno-uninitialized.

Without the old -O0, and without the new -Wno-uninitialized,
gcc issues this bogus error:
testlang_parse.y:1400:8: error: 'cmd' may be used uninitialized in this function
 1.7 19-Jan-2014  apb Remove "-g" from CPPFLAGS and LDFLAGS in curses tests.

The debug information contains embedded references to the src directory,
which is bad for reproducible builds.
 1.6 03-Jun-2012  joerg branches: 1.6.2;
Spell NetBSD correctly.
 1.5 08-Sep-2011  jmmv branches: 1.5.2; 1.5.4;
It's ATFFILE=no, not NOATFFILE=true. This fixes the contents of the
installed Atffile, and allows the tests to actually run.
 1.4 18-Aug-2011  christos Fix enums confusion.
 1.3 29-Jun-2011  mrg apply some -Wno-enum-compare.
 1.2 26-May-2011  joerg Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.5.4.1 13-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #327):
tests/lib/libcurses/director/Makefile: revision 1.6
Spell NetBSD correctly.
 1.5.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.2.1 30-Oct-2012  yamt sync with head
 1.6.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.30 18-Jul-2024  blymn Add a nofail (-n) option so that the director will not exit when the
test output does not match the check file.
 1.29 10-Jun-2021  mcf branches: 1.29.4;
Unset ESCDELAY in libcurses test director to ensure consistent results

Non-default values of ESCDELAY may result in unexpected test failures.
 1.28 13-Feb-2021  rillig tests/libcurses: fix child process handling

The child process needs to be properly controlled by the parent process.
Otherwise it is not possible to get code coverage data from it using
gcov since that requires the child process to exit normally. Previously
the child process had been killed because its parent had exited.
 1.27 13-Feb-2021  rillig tests/libcurses: remove undocumented, unused command line option

The option -T has the same effect as the removed option -p.
 1.26 13-Feb-2021  rillig tests/libcurses: remove include path from usage message

The option has been removed a few minutes ago.
 1.25 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.24 13-Feb-2021  rillig tests/libcurses: remove include path handling

All include commands in the current test suite use relative paths.
Instead of a fixed include path, interpret the included filename
relative to the including file.
 1.23 13-Feb-2021  rillig tests/libcurses: align comments
 1.22 13-Feb-2021  rillig tests/libcurses: fix misleading usage documentation

The check-files are not config files.
 1.21 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.20 13-Feb-2021  rillig tests/libcurses: fix pipe handling in child process

The child process only ever needs 2 ends of the pipes: one for reading
the commands, one for writing back the results.
 1.19 13-Feb-2021  rillig tests/libcurses: fix warnings for missing environment variables
 1.18 09-Feb-2021  rillig tests/libcurses: add missing space after control flow keywords
 1.17 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.16 08-Feb-2021  rillig tests/libcurses: fix sentinel for execl

For systems where NULL is defined as a simple 0 or 0L.
 1.15 08-Feb-2021  rillig tests/libcurses: on errors, print nonprintable characters as well
 1.14 07-Feb-2021  rillig tests/libcurses: error out if called with too many arguments

This helps against users who try to add more options after the first
non-option argument and wonder why these options are silently ignored.
 1.13 07-Feb-2021  rillig tests/libcurses: document another bug in the test director
 1.12 07-Feb-2021  rillig tests/libcurses: fix usage of director
 1.11 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.10 03-Jun-2012  joerg Switch terminfo(3) to cdb(5).
 1.9 07-Oct-2011  joerg branches: 1.9.2; 1.9.4;
Fix off-by-one error and simplify at the same time.
 1.8 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.7 17-Jun-2011  christos Remove environment variable settings.
Now that we are not abusing $HOME to get to the terminfo db, make it visible.
 1.6 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.5 11-Jun-2011  christos Turn warns on for all tests and fix all the bugs.
 1.4 15-May-2011  christos branches: 1.4.2;
if you don't include the proper include files, you are going to end up
calling functions incorrectly.
 1.3 19-Apr-2011  martin Manually craft a (default) termios description instead of trying to fetch
one from stdin - ATF tests should not rely on stdin being a terminal.
 1.2 11-Apr-2011  joerg Don't fail on platforms with "char" == "unsigned char"
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.4.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.9.4.1 23-Jun-2012  riz Pull up following revision(s) (requested by joerg in ticket #328):
lib/libc/gen/devname.c: revision 1.22
distrib/sparc64/instfs/dot.profile: revision 1.7
distrib/i386/cdroms/install.sh: revision 1.3
tests/lib/libcurses/director/director.c: revision 1.10
lib/libc/include/reentrant.h: revision 1.15
distrib/amd64/cdroms/install.sh: revision 1.3
tests/include/t_paths.c: revision 1.12
share/man/man7/hier.7: revision 1.101
etc/rc.d/sysdb: revision 1.24
include/stdlib.h: revision 1.99
tests/lib/libcurses/Makefile: revision 1.3
distrib/sparc64/cdroms/installcd/install.sh: revision 1.3
distrib/i386/cdroms/Makefile.cdrom: revision 1.27
lib/libc/gen/ttyname.c: revision 1.25
usr.bin/tic/Makefile: revision 1.2
tools/compat/Makefile: revision 1.57
lib/libterminfo/compile.c: revision 1.7
lib/libc/gen/ttyname.c: revision 1.26
lib/libterminfo/compile.c: revision 1.8
tools/compat/Makefile: revision 1.59
tools/compat/cdbw.h: revision 1.1
distrib/i386/installimage/install.sh: revision 1.2
lib/libc/include/namespace.h: revision 1.154
usr.bin/tic/tic.c: revision 1.13
usr.bin/tic/tic.c: revision 1.14
usr.bin/tic/tic.c: revision 1.15
distrib/sets/lists/base/mi: revision 1.996
usr.bin/tic/tic.c: revision 1.16
usr.sbin/dev_mkdb/dev_mkdb.8: revision 1.13
usr.bin/tic/tic.c: revision 1.17
usr.bin/tic/tic.c: revision 1.18
tools/compat/cdbr.h: revision 1.1
distrib/sparc64/instfs/list: revision 1.25
usr.bin/tic/tic.c: revision 1.19
lib/libc/cdb/cdbw.c: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.4
lib/libc/cdb/cdbw.3: revision 1.5
share/terminfo/Makefile: revision 1.3
usr.sbin/dev_mkdb/dev_mkdb.c: revision 1.29
usr.sbin/dev_mkdb/Makefile: revision 1.8
lib/libc/gen/ttyname.3: revision 1.23
lib/libc/gen/ttyname.3: revision 1.24
lib/libc/cdb/cdbr.c: revision 1.3
include/cdbw.h: revision 1.2
distrib/sparc64/cdroms/installcd/Makefile: revision 1.15
lib/libc/gen/devname.3: revision 1.12
tools/compat/compat_defs.h: revision 1.85
tools/compat/compat_defs.h: revision 1.86
lib/libterminfo/term_private.h: revision 1.10
lib/libterminfo/term.c: revision 1.14
usr.bin/tic/tic.1: revision 1.10
lib/libterminfo/term.c: revision 1.15
lib/libterminfo/Makefile.hash: revision 1.5
lib/libterminfo/term.c: revision 1.16
distrib/amd64/installimage/install.sh: revision 1.2
share/man/man5/rc.conf.5: revision 1.152
distrib/sets/lists/tests/mi: revision 1.472
distrib/amd64/cdroms/Makefile.cdrom: revision 1.7
include/paths.h: revision 1.41
bin/ps/ps.1: revision 1.101
lib/libterminfo/terminfo.5.in: revision 1.16
usr.bin/tic/tic.c: revision 1.20
lib/libterminfo/terminfo.5.in: revision 1.17
Prefer __printflike.
Use queue(3)
Replace linear lookup with hash table, reducing runtime by 60%.
Use e* from util.h.
One more strdup -> estrdup.
Maintain nalias and nterm on the fly.
Add void for ttyslot prototype.
Use memcmp in place of strncmp, since length is known to no longer than
either of the arguments.
Fix a number of memory leaks. Keep final loop of the cleanup in tic(1)
under #ifdef __VALGRIND__ though.
Add __predict_true / __predict_false definitions.
Add a special seeder for cdbw_output that gives stable results.
Hook up cdbw(3) for the tool build.
Prototype for cdbw_stable_seeder.
Provide a usable thr_once for !_REENTRANT
Switch device database to cdb(5). Rework ttyname(3) and ttyname_r(3) to
depend on new devname_r(3) as heart. Add /dev/pts magic directly to
devname(3). While it can lead to returning non-existing paths, the
behavior is more consistent that way. Drop caching layer in devname(3),
it doesn't buy anything for the common case of having access to the
database. Teach devname(3) proper fallback behavior of scanning /dev.
Create both old-style and new-style database for now in /etc/rc.d/sysdb.
Switch terminfo(3) to cdb(5).
Fix typos.
Make Alan Barrett happy and add ().
Add cdbr(3) support to tools/compat.
Bump date for previous.
Relax consistency to make it possible to match valid entries.
Prefix devname's buffer with /dev/ as ttyname is supposed to return the
full path. Reported by Dave Huang.
 1.9.2.1 30-Oct-2012  yamt sync with head
 1.29.4.1 02-Aug-2025  perseant Sync with HEAD
 1.4 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.3 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.2 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.1 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.6 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.5 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.4 07-Feb-2021  rillig tests/libcurses: fix typo in comment
 1.3 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.2 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.
 1.1 10-Apr-2011  blymn branches: 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27 10-Dec-2023  rillig tests/libcurses: require 3 digits in octal character escapes

Previously, the string literal "\0" had been interpreted as "0", which
would have made the backslash redundant. The tests don't use this form.
 1.26 15-Nov-2021  blymn Add handling for backspace special character (\b)
 1.25 25-Feb-2021  rillig tests/libcurses: use common style for parse error messages
 1.24 25-Feb-2021  rillig tests/libcurses: use common syntax for accessing array elements

Writing *(p+1) is needlessly confusing, even though it adds a little
symmetry between *p and *(p+1). Still, one of these expressions has
parentheses, the other doesn't, which breaks the symmetry.

Wrap overly long code line.

It's confusing to refer to the digits after the backslash once with
index 0 to 2, and the other time with index 1 to 3.
 1.23 25-Feb-2021  rillig tests/libcurses: reduce indentation

No functional change.
 1.22 25-Feb-2021  rillig libcurses: prevent unknown escpae sequences in tests

Before, '\b' was interpreted as a simple 'b', which is confusing for C
programmers. Same for '\a'. There is absolutely no reason to escape
letters, so fail early in these cases.

The '\h' in the test addchstr was obviously a typo that was easy to
detect, if only the compiler had been strict enough from the very
beginning.

The code is wider than 80 characters, same as the code that parses octal
escape sequences a few lines above it. This code will be refactored to
use less indentation in a follow-up commit.
 1.21 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.20 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.19 13-Feb-2021  rillig tests/libcurses: remove include path handling

All include commands in the current test suite use relative paths.
Instead of a fixed include path, interpret the included filename
relative to the including file.
 1.18 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.17 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.16 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.15 07-Feb-2021  rillig tests/libcurses: do not allow control characters in paths
 1.14 07-Feb-2021  rillig tests/libcurses: error out on trying to parse /dev/zero

Be strict when parsing the tests. Any unknown character is an error.
This avoids an endless loop when running "./director /dev/zero". There
is no point in silently ignoring other invalid characters as well, as
this would only leave potential test writers in an unclear state,
without any benefit.
 1.13 07-Feb-2021  rillig tests/libcurses: require keywords to be lowercase, except for OK and ERR

There is no need to write the keywords in upper case or mixed case. The
only case where a keyword did not have the canonical form yet was a
single lowercase 'ok' in the test case 'innstr'.
 1.12 07-Feb-2021  rillig tests/libcurses: use more common abbreviations for tokens
 1.11 07-Feb-2021  rillig tests/libcurses: allow end-of-line comments in data lines as well

This makes it possible to write small remarks directly in the affected
line, which not only makes for a clean visual appearance but also shows
up prominently in "cvs annotate" or "git blame", showing when such a
remark has been modified.
 1.10 07-Feb-2021  rillig tests/libcurses: indent lexer code consistently

Several of the braces were misaligned. For the simple keywords, there
is no need to write these braces at all, they only made the code look
more complicated than it really is.

I stumbled upon this because syntax errors in the test cases currently
let the test case succeed instead of fail, which is another ingredient
for unreliable tests, besides the loose output matching.
 1.9 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.8 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.
 1.7 21-Nov-2013  blymn branches: 1.7.26;
Add carriage return to the quoted character list
 1.6 07-Oct-2011  joerg branches: 1.6.2; 1.6.8;
Fix off-by-one error and simplify at the same time.
 1.5 18-Jun-2011  joerg input() isn't used
 1.4 11-Jun-2011  christos Turn warns on for all tests and fix all the bugs.
 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 11-Apr-2011  blymn Fix NetBSD tag field.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.3.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.8.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.26.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.55 18-Jul-2024  blymn Add a nofail (-n) option so that the director will not exit when the
test output does not match the check file.
 1.54 10-Dec-2023  rillig branches: 1.54.2;
tests/libcurses: constify
 1.53 13-Jun-2021  rillig tests/libcurses: sprinkle 'const', normalize sizeof

No functional change.
 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
 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.
 1.15 11-Jun-2019  blymn Bracket strings being validated with markers to ensure sneaky whitespeace
is noticed.
 1.14 04-Jan-2015  christos branches: 1.14.16;
add proper include files.
 1.13 19-Sep-2012  blymn * Add scanw family function calls as input functions
 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.
 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.3.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.12.8.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.2.1 30-Oct-2012  yamt sync with head
 1.14.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.54.2.1 02-Aug-2025  perseant Sync with HEAD

RSS XML Feed