Home | History | Annotate | only in /src/tests/lib/libcurses
History log of /src/tests/lib/libcurses
RevisionDateAuthorComments
 1.4 07-Feb-2020  uwe Fake terminfo should not depend on TOOL_TIC for native build.
Makes it possible to build this standalone with USETOOLS=never.
 1.3 03-Jun-2012  joerg branches: 1.3.32;
Switch terminfo(3) to cdb(5).
 1.2 17-Jun-2011  christos branches: 1.2.2; 1.2.4;
Remove environment variable settings.
Now that we are not abusing $HOME to get to the terminfo db, make it visible.
 1.1 10-Apr-2011  blymn branches: 1.1.2;
Add atf for libcurses with some tests
 1.1.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.2.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.2.2.1 30-Oct-2012  yamt sync with head
 1.3.32.1 08-Apr-2020  martin Merge changes from current as of 20200406
 1.1 17-Jun-2011  christos branches: 1.1.2;
turn on warnings
 1.1.2.2 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.1.2.1 17-Jun-2011  cherry file Makefile.inc was added on branch cherry-xenmp on 2011-06-23 14:20:40 +0000
 1.2 08-Sep-2011  jmmv Remove temporary file committed by mistake.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.3 13-Feb-2021  rillig tests/libcurses: use ASCII only in terminfo description
 1.2 13-Feb-2021  rillig tests/libcurses: split terminfo entry over more lines

This provides space to see each capability on its own, instead of having
to search them in the blob of text.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 05-Jun-2021  blymn Convert % into %% in input string so printf won't barf
 1.1 09-Jun-2019  blymn branches: 1.1.2; 1.1.10;
Add a script that allows a check file to be created by cutting and
pasting the contents of the square brackets in the "Excess nn bytes
from slave" message emitted when the director is running in verbose
mode (-v).
 1.1.10.1 06-Jun-2021  cjep sync with head
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 09-Jun-2019  christos file chk_gen was added on branch phil-wifi on 2019-06-10 22:10:05 +0000
 1.8 18-Jul-2024  blymn * Fix a bug where specifying -t would cause the director args to be
truncated.

* Add support for the director nofail option.
 1.7 01-Mar-2022  blymn branches: 1.7.4;
Add the -F flag to the getopt string, it was there in the help and
in the arguments handling but getopt was not told about it.
 1.6 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 1.5 04-Jun-2021  blymn Fix debug_test so it actually works and does not do damage
* disable blind clearing of /tmp. The comment says this is needed for getwin/putwin
those tests need to be looked at to correct this.
* remove invalid -I option from director arguments for now.
* fix paths to executables so debug_test will work with installed versions by default
the previous version was using the src tree locations but basedir was wrong for that.
 1.4 24-Oct-2020  blymn branches: 1.4.4;
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.3 19-May-2019  blymn branches: 1.3.2;
Add option to specify an alternate library location to allow testing
a development library version without installing it.
 1.2 21-Jan-2019  blymn Fix script to use getopts instead of a hand rolled argument parser,
add option to set curses debug output file and other general fixes.
Thanks to kre@netbsd.org for comments and help with this.
 1.1 30-Nov-2018  blymn branches: 1.1.2;
Add script for assisting with debugging curses tests.
 1.1.2.3 26-Jan-2019  pgoyette Sync with HEAD
 1.1.2.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.2.1 30-Nov-2018  pgoyette file debug_test was added on branch pgoyette-compat on 2018-12-26 14:02:09 +0000
 1.3.2.2 10-Jun-2019  christos Sync with HEAD
 1.3.2.1 19-May-2019  christos file debug_test was added on branch phil-wifi on 2019-06-10 22:10:05 +0000
 1.4.4.1 06-Jun-2021  cjep sync with head
 1.7.4.1 02-Aug-2025  perseant Sync with HEAD
 1.33 04-Feb-2025  andvar s/correspnding/corresponding/ in atf description.
 1.32 03-May-2022  blymn branches: 1.32.4;
Add mutt_test to the test runs, this test tries to emulate a real
curses application to test the interaction of various curses calls.
 1.31 26-Apr-2022  blymn Add test for wresize.
 1.30 21-Apr-2022  blymn Actually add the bkgrndset test case so it runs plus fix a typo in
the bkgrndset test script.
 1.29 20-Apr-2022  blymn Add a test for the bkgrndset function
 1.28 04-Apr-2022  andvar fix various typos, mainly in comments.
 1.27 25-Jan-2022  blymn Remove excess shift since locale is no longer passed
 1.26 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 1.25 31-Dec-2021  andvar fix few typos in comments, mainly in word "parameter".
 1.24 21-Aug-2021  andvar fix some more typos in comments/log messages, improve wording as well.
 1.23 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.22 13-Feb-2021  rillig tests/libcurses: add test for addbytes
 1.21 09-Feb-2021  rillig tests/libcurses: add missing space after control flow keywords
 1.20 29-Oct-2020  blymn Disable the wgetch test as it appears to be missing at the moment.
 1.19 27-Oct-2020  martin Use the relative paths in the installed version, not the (different)
source pathes.
 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 30-Jun-2019  blymn Fix test for pad and enable it.
 1.16 30-Jun-2019  blymn Enable mvscanw test since libcurses is now correct.
 1.15 26-Jun-2019  blymn Enable beep test, return is correct.
 1.14 25-Jun-2019  blymn Fixed mvscanw test but leave disabled for the moment, the return for
mvscanw is incorrect in libcurses, we need a major lib version bump
to correct it.
 1.13 11-Jun-2019  blymn Fixed bug in curses library keyname, test now passes.
 1.12 11-Jun-2019  blymn Fix dupwin test.
 1.11 11-Jun-2019  blymn fix derwin test.
 1.10 09-Jun-2019  blymn Add an extra parameter to the h_run function so flags can be passed
to the director.
 1.9 26-May-2019  blymn Add more tests for curses
 1.8 15-Sep-2011  blymn branches: 1.8.42;
Remove the beep test for the moment, the return code does not conform
to SUSv2. An update to the slave code will break this test until
beep() is fixed but that will require a major bump on the libcurses
library due to the interface change which is being deferred until all
the tests are done and all the interface changes can be batched up.
 1.7 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.6 29-Aug-2011  christos comment out racy test that I will not bother fixing for now.
 1.5 29-Aug-2011  christos make sure that our terminal has a consistent size now that terminfo obeys
the environment variables.
 1.4 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.3 17-Jun-2011  christos turn off verbose
 1.2 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.1 10-Apr-2011  blymn branches: 1.1.2;
Add atf for libcurses with some tests
 1.1.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.8.42.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.42.1 10-Jun-2019  christos Sync with HEAD
 1.32.4.1 02-Aug-2025  perseant Sync with HEAD
 1.9 03-Dec-2023  rillig tests/libcurses: sync documentation with reality

Unknown escape sequences in string literals trigger an error, since
testlang_conf.l 1.22 from 2021-02-25.

The '\b' is recognized since testlang_conf.l 1.26 from 2021-11-15.
 1.8 09-Feb-2021  rillig tests/libcurses: fix spelling of the special call to DRAIN
 1.7 07-Feb-2021  rillig tests/libcurses: fix documentation of call[234]

The function getyx is not a function but a macro. It does not return
int, but void. Since these changes destroy the simplicity of the
example, combining a regular return value and pass-by-reference return
values, I rewrote the whole section and added more examples.
 1.6 06-Feb-2021  rillig libcurses: fix typos in introduction to the curses test framework
 1.5 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.4 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.3 21-Nov-2013  blymn branches: 1.3.26;
Add carriage return to list of valid character substitutions.
 1.2 11-Apr-2011  blymn branches: 1.2.4; 1.2.10;
Fix incorrect call example.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.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.3.26.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12 10-Nov-2022  blymn Uncomment the waddstr call that was returning ERR, this is actually
correct so make the expected return ERR then repeat the call with
scrollok set to true to validate.

Do refreshes on the window instead of stdscr so we get the window
contents reported and update the check files with the expected
output.
 1.11 08-Nov-2022  blymn * Uncomment the slk_wset test which was previously commented out due
to incorrect output as this bug has been fixed.
* Added a check file to verify the slk_wset output.
 1.10 20-Apr-2022  blymn Add a test for the bkgrndset function
 1.9 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 1.8 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 1.7 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.6 05-Jun-2021  blymn Add new check file for the clear test.
 1.5 07-Feb-2021  rillig branches: 1.5.4;
libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.4 24-Oct-2020  martin Add the new tests + check files, sort.
 1.3 26-May-2019  blymn Add more tests for curses
 1.2 08-Sep-2011  jmmv branches: 1.2.42;
It's ATFFILE=no, not NOATFFILE=true. This fixes the contents of the
installed Atffile, and allows the tests to actually run.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.5.4.1 06-Jun-2021  cjep sync with head
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file add_wch1.chk was added on branch phil-wifi on 2019-06-10 22:10:05 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file add_wch2.chk was added on branch phil-wifi on 2019-06-10 22:10:05 +0000
 1.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.4 13-Feb-2021  rillig libcurses: fix wrong tab width for addch

In sysinst, the installation screen is indented with tabs. Sysinst uses
msgc, which brings its own text layout engine. This engine does not use
addbytes but addch. In addch, the x position for each tab was advanced
twice as much as needed. The menu items were thus not indented by 8
spaces but by 16, which caused an ugly line break in the German
translation.

This bug largely went unnoticed because most other applications use
addbytes instead, which worked fine all the time. It had been
introduced somewhere between NetBSD 8.0 and NetBSD 9.0.

The code around this bug used aliased variables for win->curx and
win->cury a lot. Getting this right is difficult and needs a thorough
test suite. Even though libcurses has 201 tests, that is not nearly
enough to cover all the relations between the various functions in
libcurses that call each other, crossing API boundaries from internal
to external, doing character conversions on the way and juggling around
4 different types of characters (char, wchar_t, chtype, cchar_t).

The simplest fix was to remove all this aliasing, while keeping the
API the same. If _cursesi_waddbytes is not considered part of the API,
it would be possible to replace px with win->curx in all places, same
for py and win->cury.

The complicated code with the aliasing may have been meant for
performance reasons, but it's hard to see any advantage if both points
of truth need to be synchronized all the time.

Libcurses can be built in 2 modes: with wide character support or
without (-DDISABLE_WCHAR). The test suite only covers the variant with
wide characters. The single-byte variant has to be tested manually.
Running sysinst with the single-byte libcurses produces the correct
layout.
 1.3 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 09-Nov-2013  blymn Update check files to match fixed behaviour for addchstr
 1.1 10-Apr-2011  blymn branches: 1.1.4; 1.1.10;
Add atf for libcurses with some tests
 1.1.10.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.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.2 07-Feb-2021  rillig tests/libcurses: fix expected test output

The test framework doesn't check the files strictly, it only checks
whether the expected output is a prefix of the actual output, or vice
versa. This allows several deviations to pass unnoticed, which is
wrong.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file addchstr2.chk was added on branch phil-wifi on 2019-06-10 22:10:05 +0000
 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.1 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 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.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.2 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.4 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 1.3 07-Sep-2021  rin PR lib/56388

Regen addstr2.chk after fix for the line-hash bug in libcurses.

Now, all t_curses tests successfully pass on all platforms I have tried.

Thanks blymn@ for kind advice!
 1.2 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.1 06-Jun-2021  blymn branches: 1.1.2;
New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1.2.2 06-Jun-2021  cjep sync with head
 1.1.2.1 06-Jun-2021  cjep file addstr2.chk was added on branch cjep_sun2x on 2021-06-06 20:30:54 +0000
 1.5 05-Oct-2023  blymn Update check files affected by a fix to addbyte.c in libcurses.
 1.4 04-Nov-2022  blymn branches: 1.4.2;
Update check files to allow for changes due to fixes to libcurses.
 1.3 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 1.2 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.1 06-Jun-2021  blymn branches: 1.1.2;
New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1.2.2 06-Jun-2021  cjep sync with head
 1.1.2.1 06-Jun-2021  cjep file addstr3.chk was added on branch cjep_sun2x on 2021-06-06 20:30:54 +0000
 1.4.2.1 10-Oct-2023  martin Pull up following revision(s) (requested by kim in ticket #402):

tests/lib/libcurses/check_files/waddstr2.chk: revision 1.2
tests/lib/libcurses/check_files/addstr3.chk: revision 1.5
lib/libcurses/addbytes.c: revision 1.69
lib/libcurses/tty.c: revision 1.50

Fix for install/56467

Set x to 0 before calling scroll based on a proposed fix by RVP (thanks!)
Update check files affected by a fix to addbyte.c in libcurses.

Correct the fd closed check so we actually check the outfd as per
the comment. Thanks for jdc%netbsd.org@localhost for catching this one.
 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.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.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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.3 04-Dec-2018  blymn Fix failing background test check file.
 1.2 06-Nov-2018  blymn Correct background check file for fixed curses behaviour.
This fixes lib/53676.
 1.1 10-Apr-2011  blymn branches: 1.1.42; 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 10-Jun-2019  christos Sync with HEAD
 1.1.42.2 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.42.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.3 03-May-2022  blymn Output changed due to bug fixes in curses.
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file bkgdset1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 03-May-2022  blymn Output changed due to bug fixes in curses.
 1.1 20-Apr-2022  blymn Add a test for the bkgrndset function
 1.1 20-Apr-2022  blymn Add a test for the bkgrndset function
 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.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.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.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.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.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 05-Jun-2021  blymn branches: 1.1.2;
Add new check file for the clear test.
 1.1.2.2 06-Jun-2021  cjep sync with head
 1.1.2.1 05-Jun-2021  cjep file clear0.chk was added on branch cjep_sun2x on 2021-06-06 20:30:54 +0000
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.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.3 11-Jul-2024  blymn Fix the check files to account for new colour setting behaviour.
 1.2 12-Apr-2022  blymn branches: 1.2.4;
Update to account for default colour change in libcurses.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.4 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.5 04-Nov-2022  blymn Update check files to allow for changes due to fixes to libcurses.
 1.4 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.5 04-Nov-2022  blymn Update check files to allow for changes due to fixes to libcurses.
 1.4 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.2 16-Sep-2011  blymn branches: 1.2.42;
- Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delay_output.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delch1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delch2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delch3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delch4.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delch5.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 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.2 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 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.4 05-Dec-2022  blymn Update check files due to reversion of a libcurses change.
 1.3 30-Nov-2022  blymn Update the check files due to bug fix in libcurses.
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln4.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln5.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln6.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delwin1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delwin2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 11-Jun-2019  blymn fix derwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file derwin1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 11-Jun-2019  blymn fix derwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file derwin2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file doupdate.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.2 11-Jun-2019  blymn Fix dupwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file dupwin1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.2 11-Jun-2019  blymn Fix dupwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file dupwin2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file fill_screen_numbers.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file fill_window_numbers.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file flash.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file hline.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.2 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 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.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.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.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.1 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 1.1 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 1.1 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file insch.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.3 05-Dec-2022  blymn Update check files due to reversion of a libcurses change.
 1.2 30-Nov-2022  blymn Update the check files due to bug fix in libcurses.
 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.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.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.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.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.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.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.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.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.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.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.3 05-Dec-2022  blymn Update check files due to reversion of a libcurses change.
 1.2 30-Nov-2022  blymn Update the check files due to bug fix in libcurses.
 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.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.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.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.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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file meta1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file meta2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 03-May-2022  blymn Update check files, changes due to bug fixes.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 03-May-2022  blymn Update check files, changes due to bug fixes.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 03-May-2022  blymn Update check files, changes due to bug fixes.
 1.2 09-Jun-2019  blymn branches: 1.2.2;
Adjust check files for changes in cursor positioning.
 1.1 26-May-2019  blymn Add more tests for curses
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 09-Jun-2019  christos file mutt_test4.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 03-May-2022  blymn Update check files, changes due to bug fixes.
 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 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test5.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.3 03-May-2022  blymn Update check files, changes due to bug fixes.
 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 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test6.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test7.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 03-May-2022  blymn Update check files, changes due to bug fixes.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test8.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 03-May-2022  blymn Update check files, changes due to bug fixes.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test9.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddch.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddchnstr.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddchnstr2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddchstr.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddnstr.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddnstr2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddstr.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddstr2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvchgat.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvchgat2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvcur.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvderwin1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvderwin2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.2 09-Jun-2019  blymn branches: 1.2.2;
Adjust check files for changes in cursor positioning.
 1.1 26-May-2019  blymn Add more tests for curses
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 09-Jun-2019  christos file mvgetnstr1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetnstr2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetnstr3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetnstr4.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 09-Jun-2019  blymn branches: 1.2.2;
Adjust check files for changes in cursor positioning.
 1.1 26-May-2019  blymn Add more tests for curses
 1.2.2.2 10-Jun-2019  christos Sync with HEAD
 1.2.2.1 09-Jun-2019  christos file mvgetstr1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetstr2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetstr3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvprintw.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvvline1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvvline2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvvline3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.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.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.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.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 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.1 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 1.1 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 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.1 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 1.1 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 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.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.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.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.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.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.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.2 30-Jun-2019  blymn Fix test for pad and enable it.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file pad1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file pad2.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 30-Jun-2019  blymn Fix test for pad and enable it.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file pad3.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.2 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 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.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.3 05-Dec-2022  blymn Update check files due to reversion of a libcurses change.
 1.2 30-Nov-2022  blymn Update the check files due to bug fix in libcurses.
 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.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.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.3 22-Jun-2021  blymn Fix slk test and check files due to libcurses slk changes.
 1.2 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1 24-Oct-2020  blymn branches: 1.1.4;
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.1.4.1 06-Jun-2021  cjep sync with head
 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.3 22-Jun-2021  blymn Fix slk test and check files due to libcurses slk changes.
 1.2 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1 24-Oct-2020  blymn branches: 1.1.4;
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.1.4.1 06-Jun-2021  cjep sync with head
 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.3 22-Jun-2021  blymn Fix slk test and check files due to libcurses slk changes.
 1.2 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1 24-Oct-2020  blymn branches: 1.1.4;
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.1.4.1 06-Jun-2021  cjep sync with head
 1.5 11-Jul-2024  blymn Fix the check files to account for new colour setting behaviour.
 1.4 12-Apr-2022  blymn branches: 1.4.4;
Update to account for default colour change in libcurses.
 1.3 22-Jun-2021  blymn Fix slk test and check files due to libcurses slk changes.
 1.2 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1 24-Oct-2020  blymn branches: 1.1.4;
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.1.4.1 06-Jun-2021  cjep sync with head
 1.4.4.1 02-Aug-2025  perseant Sync with HEAD
 1.1 08-Nov-2022  blymn * Uncomment the slk_wset test which was previously commented out due
to incorrect output as this bug has been fixed.
* Added a check file to verify the slk_wset output.
 1.3 22-Jun-2021  blymn Fix slk test and check files due to libcurses slk changes.
 1.2 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1 24-Oct-2020  blymn branches: 1.1.4;
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.1.4.1 06-Jun-2021  cjep sync with head
 1.2 29-Aug-2011  christos we never get the b character since we timeout and drain!
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file touchline1.chk was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 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.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.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.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.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.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.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.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.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.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.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.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.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.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.2 10-Nov-2022  blymn Uncomment the waddstr call that was returning ERR, this is actually
correct so make the expected return ERR then repeat the call with
scrollok set to true to validate.

Do refreshes on the window instead of stdscr so we get the window
contents reported and update the check files with the expected
output.
 1.1 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.2 05-Oct-2023  blymn Update check files affected by a fix to addbyte.c in libcurses.
 1.1 10-Nov-2022  blymn branches: 1.1.2;
Uncomment the waddstr call that was returning ERR, this is actually
correct so make the expected return ERR then repeat the call with
scrollok set to true to validate.

Do refreshes on the window instead of stdscr so we get the window
contents reported and update the check files with the expected
output.
 1.1.2.1 10-Oct-2023  martin Pull up following revision(s) (requested by kim in ticket #402):

tests/lib/libcurses/check_files/waddstr2.chk: revision 1.2
tests/lib/libcurses/check_files/addstr3.chk: revision 1.5
lib/libcurses/addbytes.c: revision 1.69
lib/libcurses/tty.c: revision 1.50

Fix for install/56467

Set x to 0 before calling scroll based on a proposed fix by RVP (thanks!)
Update check files affected by a fix to addbyte.c in libcurses.

Correct the fd closed check so we actually check the outfd as per
the comment. Thanks for jdc%netbsd.org@localhost for catching this one.
 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.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.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.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 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.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 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.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.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.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.1 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 1.1 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.4 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.3 12-Apr-2022  blymn Update to account for default colour change in libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.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.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.1 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 1.2 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.1 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 1.1 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 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.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.2 12-May-2019  blymn Provide correct validation after curses change.
 1.1 10-Apr-2011  blymn branches: 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 10-Jun-2019  christos Sync with HEAD
 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.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.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 16-Sep-2011  blymn - Update the check files due to a bug fix in the slave code
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.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.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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.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
 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 08-Sep-2011  jmmv branches: 1.6.2; 1.6.6; 1.6.8;
It's ATFFILE=no, not NOATFFILE=true. This fixes the contents of the
installed Atffile, and allows the tests to actually run.
 1.5 17-Aug-2011  christos document non-literal format strings
 1.4 11-Jun-2011  christos Turn warns on for all tests and fix all the bugs.
 1.3 26-May-2011  joerg branches: 1.3.2;
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.2 13-Apr-2011  he Explicitly list -lterminfo after -lcurses, to support static builds.
 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.6.1 20-Nov-2012  matt Conditionalize use of --no-fatal-warnings on ${HAVE_BINUTILS} == "219"
 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 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.6 12-Feb-2021  rillig tests/libcurses: remove wrong comments
 1.5 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.4 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.3 15-Sep-2011  blymn - add support for getparyx and getyx calls
- allow a NULL pointer to be returned to the director
- add support for passing back a single chtype character
- fix some indentation
- fix a lot of curses command calls that were just plain wrong
- don't try to allocate storage for a NULL parameter, it doesn't need it
 1.2 11-Apr-2011  blymn Incorrect licence was applied - fix this.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.18 10-Dec-2023  rillig tests/libcurses: fix typo in comment
 1.17 06-Dec-2021  rillig tests/libcurses: clean up comments
 1.16 04-Sep-2021  rin Cosmetic fixes. No functional changes intended.
- Reorganize logic to reduce indent levels significantly.
- Use ``for'' rather than ``while''.
 1.15 13-Jun-2021  rillig tests/libcurses: add parentheses around argument to sizeof
 1.14 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.13 13-Feb-2021  rillig tests/libcurses: protect against short writes

The previous code only errored out if a write failed completely. If it
was partially written, the program continued without writing the rest of
it.

Extract the common code into a few functions that write raw data to the
parent process.
 1.12 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.11 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.10 09-Feb-2021  rillig tests/libcurses: add missing space after control flow keywords
 1.9 09-Feb-2021  rillig tests/libcurses: replace remaining strcasecmp with strcmp

There is no reason to write special functions in a different case than
the canonical one, just like for the regular curses functions.
 1.8 09-Feb-2021  rillig tests/libcurses: compare function names case-sensitive

There is absolutely no reason to write function names in upper case or
mixed case.
 1.7 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.6 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.5 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.4 15-Sep-2011  blymn branches: 1.4.42;
- add support for getparyx and getyx calls
- allow a NULL pointer to be returned to the director
- add support for passing back a single chtype character
- fix some indentation
- fix a lot of curses command calls that were just plain wrong
- don't try to allocate storage for a NULL parameter, it doesn't need it
 1.3 11-Jun-2011  christos Turn warns on for all tests and fix all the bugs.
 1.2 15-May-2011  christos branches: 1.2.2;
add missing header files.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.4.42.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.31 07-Dec-2021  rillig tests/libcurses: fix grammar in comment (since yesterday)
 1.30 06-Dec-2021  rillig tests/libcurses: clean up comments
 1.29 13-Jun-2021  rillig tests/libcurses: fix argument handling for mvwget_wch

There's currently no test for that function, therefore no functional
change.
 1.28 13-Jun-2021  rillig tests/libcurses: unexport argument handling functions

No functional change.
 1.27 13-Jun-2021  rillig tests/libcurses: KNF for while loop
 1.26 13-Jun-2021  rillig tests/libcurses: remove redundant argument numbers

Since all arguments are processed in increasing order, there is no need
to add the redundant argument numbers. Most of the curses functions
have less than 5 arguments, which makes it easy enough to count the ARG
macros.

Changes to curses_commands.c:

* replace ^(\tARG_\w+\()\d(?:, |) with $1
* replace (define ARG_\w+\()i,\s with $1
* replace args\[i\] with *args++
* replace \(i\) with ()
* replace \(void\)0 with args++

The wrong argument count in cmd_mvwget_wch is still detected by
lint.lua, as it was before. There is no test yet that covers this
function.
 1.25 04-Apr-2021  rin Reapply fix for big-endian environments, which was lost when GSoC results
were merged...

http://www.nerv.org/netbsd/?q=id:20200620T075016Z.3584036ccf31f69ee76ea4a02e9be30ff081df21

> Fix false positive for mvscanw tests on big endian machines.
>
> When conversion specifier is not a derivative form of "%s", retrieve
> input as 32bit integer, and then convert to string literal. Then we
> can avoid interpretation from ASCII code to integer, which is
> apparently byte-order depended.
 1.24 04-Apr-2021  rin When mvscanw(3) fails, string is not modified.
Let's ignore the 2nd result for this case.
 1.23 04-Apr-2021  rin s/&string/string/ for mvscanw(3); string is already pointer to buffer.
 1.22 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.21 12-Feb-2021  rillig tests/libcurses: remove excess empty lines
 1.20 12-Feb-2021  rillig tests/libcurses: query function arguments in consistent order
 1.19 12-Feb-2021  rillig tests/libcurses: don't access args directly

By providing declarative syntax for accessing the arguments, the
unnecessarily detailed boilerplate code is hidden. This allows easy
inspection by tools and humans, to check for typos and other mistakes.
 1.18 12-Feb-2021  rillig tests/libcurses: replace ARG_CHTYPE_STRING with ARG_CHTYPE

All uses of the previous macro did not treat the argument as a string or
array of chtype, but as a single chtype. It's strange that the previous
code arbitrarily split the access to the argument by first storing it as
a pointer and then dereferencing it.

No functional change.
 1.17 12-Feb-2021  rillig tests/libcurses: add shortcut macros for SCREEN and unsigned int
 1.16 12-Feb-2021  rillig tests/libcurses: remove redundant comments

There is nothing surprising about call2, call3 or call4.
 1.15 12-Feb-2021  rillig tests/libcurses: reduce boilerplate in function dispatcher

No functional change. The generated code for GCC 9.3 on NetBSD 9.99.80
x86_64 is exactly the same as before.
 1.14 12-Feb-2021  rillig tests/libcurses: reduce boilerplate in function dispatcher

This makes the code more declarative and easier to reason about.

The generated code stays exactly the same.
 1.13 09-Feb-2021  rillig tests/libcurses: fix scanf parameter for unsigned int
 1.12 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 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 20-Jun-2020  rin Fix false positive for mvscanw tests on big endian machines.

When conversion specifier is not a derivative form of "%s", retrieve
input as 32bit integer, and then convert to string literal. Then we
can avoid interpretation from ASCII code to integer, which is
apparently byte-order depended.
 1.9 26-May-2019  blymn Start supporting wide char tests.
 1.8 26-Apr-2019  blymn Fix argument parsing for mvinsch, last arg is a chtype not a string.
 1.7 19-Sep-2012  blymn branches: 1.7.30;
* Fix mvscanw return
* Fix the *vline family of calls, one argument is chtype not int
 1.6 15-Sep-2011  blymn branches: 1.6.2; 1.6.8;
- add support for getparyx and getyx calls
- allow a NULL pointer to be returned to the director
- add support for passing back a single chtype character
- fix some indentation
- fix a lot of curses command calls that were just plain wrong
- don't try to allocate storage for a NULL parameter, it doesn't need it
 1.5 29-Aug-2011  christos fix bug where we read the same argument twice. Name the timeout val the
same 'tval' in both timeout routines.
 1.4 11-Jun-2011  christos Turn warns on for all tests and fix all the bugs.
 1.3 11-Apr-2011  blymn branches: 1.3.2;
Apply patch provided by mrg to fix bad calls to vw_printw and vw_scanw
 1.2 10-Apr-2011  dholland Fix obvious bug.
(note: this file still doesn't build on amd64)
 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-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.6.2.1 30-Oct-2012  yamt sync with head
 1.7.30.1 10-Jun-2019  christos Sync with HEAD
 1.9 06-Dec-2021  rillig tests/libcurses: clean up comments
 1.8 13-Jun-2021  rillig tests/libcurses: unexport argument handling functions

No functional change.
 1.7 13-Feb-2021  rillig tests/libcurses: clean up inclusion guards, function declarations

No functional change.
 1.6 12-Feb-2021  rillig tests/libcurses: remove wrong comments
 1.5 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.4 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.3 15-Sep-2011  blymn - add support for getparyx and getyx calls
- allow a NULL pointer to be returned to the director
- add support for passing back a single chtype character
- fix some indentation
- fix a lot of curses command calls that were just plain wrong
- don't try to allocate storage for a NULL parameter, it doesn't need it
 1.2 11-Apr-2011  blymn Incorrect licence was applied - fix this.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.6 13-Jun-2021  rillig tests/libcurses: make error handling in the linter simpler
 1.5 13-Jun-2021  rillig tests/libcurses: improve code locality in linter

No functional change.
 1.4 13-Jun-2021  rillig tests/libcurses: improve local variable names in linter
 1.3 13-Jun-2021  rillig tests/libcurses: remove redundant argument numbers

Since all arguments are processed in increasing order, there is no need
to add the redundant argument numbers. Most of the curses functions
have less than 5 arguments, which makes it easy enough to count the ARG
macros.

Changes to curses_commands.c:

* replace ^(\tARG_\w+\()\d(?:, |) with $1
* replace (define ARG_\w+\()i,\s with $1
* replace args\[i\] with *args++
* replace \(i\) with ()
* replace \(void\)0 with args++

The wrong argument count in cmd_mvwget_wch is still detected by
lint.lua, as it was before. There is no test yet that covers this
function.
 1.2 13-Feb-2021  rillig tests/libcurses: remove unused code in linter
 1.1 12-Feb-2021  rillig tests/libcurses: query function arguments in consistent order
 1.17 13-Jun-2021  rillig tests/libcurses: add parentheses around argument to sizeof
 1.16 13-Feb-2021  rillig tests/libcurses: extract read_command_argument from process_commands

Having code indented so far to the right that each word gets its own
line is ridiculous. Fix that.

While here, remove the cargo-cult realloc pattern, which is not needed
if the process exits immediately on error.

While here, reduce the indentation of the code by returning early.

No functional change.
 1.15 13-Feb-2021  rillig tests/libcurses: fix reading from the parent process

In case of a short read, processing the incomplete data invoked
undefined behavior.
 1.14 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.13 13-Feb-2021  rillig tests/libcurses: clean up remaining include guard, comments

No functional change.
 1.12 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.11 12-Feb-2021  rillig tests/libcurses: format misleading do-while loop
 1.10 09-Feb-2021  rillig tests/libcurses: add missing space after control flow keywords
 1.9 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.8 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.7 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.6 15-Sep-2011  blymn branches: 1.6.42;
- add support for getparyx and getyx calls
- allow a NULL pointer to be returned to the director
- add support for passing back a single chtype character
- fix some indentation
- fix a lot of curses command calls that were just plain wrong
- don't try to allocate storage for a NULL parameter, it doesn't need it
 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;
add missing header files.
 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.6.42.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.7 13-Feb-2021  rillig tests/libcurses: clean up remaining include guard, comments

No functional change.
 1.6 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.5 08-Feb-2021  rillig tests/libcurses: fix typo in license text
 1.4 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.3 15-Sep-2011  blymn - add support for getparyx and getyx calls
- allow a NULL pointer to be returned to the director
- add support for passing back a single chtype character
- fix some indentation
- fix a lot of curses command calls that were just plain wrong
- don't try to allocate storage for a NULL parameter, it doesn't need it
 1.2 11-Jun-2011  christos Turn warns on for all tests and fix all the bugs.
 1.1 10-Apr-2011  blymn branches: 1.1.2;
Add atf for libcurses with some tests
 1.1.2.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7 26-Apr-2022  blymn Add test for wresize.
 1.6 20-Apr-2022  blymn Add a test for the bkgrndset function
 1.5 13-Feb-2021  rillig tests/libcurses: add test for addbytes
 1.4 24-Oct-2020  martin Add the new tests + check files, sort.
 1.3 26-May-2019  blymn Add more tests for curses
 1.2 08-Sep-2011  jmmv branches: 1.2.42;
It's ATFFILE=no, not NOATFFILE=true. This fixes the contents of the
installed Atffile, and allows the tests to actually run.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.42.1 10-Jun-2019  christos Sync with HEAD
 1.3 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file add_wch was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.4 25-Feb-2021  rillig tests/libcurses: add test for '\b' in addch

Just to ensure that addch and addstr behave the same, after the recent
fix for handling '\t'.
 1.3 25-Feb-2021  rillig libcurses: ensure that '\b' in handled correctly in addstr

Just to ensure that the recent fix for '\t' handling in addstr/addch
didn't introduce another bug.
 1.2 13-Feb-2021  rillig tests/libcurses: note that addbytes is not part of the API

https://mail-index.netbsd.org/source-changes-d/2021/02/13/msg013199.html
 1.1 13-Feb-2021  rillig tests/libcurses: add test for addbytes
 1.8 25-Feb-2021  rillig tests/libcurses: add test for '\b' in addch

Just to ensure that addch and addstr behave the same, after the recent
fix for handling '\t'.
 1.7 14-Feb-2021  rillig tests/libcurses: document the history about tab bugs in addch/addstr

Verified by installing all versions of libcurses from 2012 to 2021 and
running a simple test program on them:

#include <stdio.h>
#include <curses.h>

int
main(int argc, char **argv)
{
int xstr, ystr, xch, ych;

initscr();

addstr("\t");
xstr = getcurx(stdscr);
addstr("\n");
ystr = getcury(stdscr);

addch('\t');
xch = getcurx(stdscr);
addch('\n');
ych = getcury(stdscr);

endwin();

fprintf(stderr, "%s\t%d,%d\t%d,%d\n",
argv[1], ystr, xstr, ych, xch);
}

Some selected outputs:

...
2016.11.24.14.49.08 1,0 2,8
2016.11.28.18.25.26 1,8 2,8
...
2019.05.12.02.29.00 1,8 2,8
2019.05.20.22.17.41 1,8 2,16
...
2021.02.13.10.37.00 1,8 2,16
2021.02.13.14.30.37 1,8 2,8
 1.6 13-Feb-2021  rillig libcurses: fix wrong tab width for addch

In sysinst, the installation screen is indented with tabs. Sysinst uses
msgc, which brings its own text layout engine. This engine does not use
addbytes but addch. In addch, the x position for each tab was advanced
twice as much as needed. The menu items were thus not indented by 8
spaces but by 16, which caused an ugly line break in the German
translation.

This bug largely went unnoticed because most other applications use
addbytes instead, which worked fine all the time. It had been
introduced somewhere between NetBSD 8.0 and NetBSD 9.0.

The code around this bug used aliased variables for win->curx and
win->cury a lot. Getting this right is difficult and needs a thorough
test suite. Even though libcurses has 201 tests, that is not nearly
enough to cover all the relations between the various functions in
libcurses that call each other, crossing API boundaries from internal
to external, doing character conversions on the way and juggling around
4 different types of characters (char, wchar_t, chtype, cchar_t).

The simplest fix was to remove all this aliasing, while keeping the
API the same. If _cursesi_waddbytes is not considered part of the API,
it would be possible to replace px with win->curx in all places, same
for py and win->cury.

The complicated code with the aliasing may have been meant for
performance reasons, but it's hard to see any advantage if both points
of truth need to be synchronized all the time.

Libcurses can be built in 2 modes: with wide character support or
without (-DDISABLE_WCHAR). The test suite only covers the variant with
wide characters. The single-byte variant has to be tested manually.
Running sysinst with the single-byte libcurses produces the correct
layout.
 1.5 07-Feb-2021  rillig tests/libcurses: fix undefined behavior in test addch

The libcurses framework is not strictly typed and thus provides plenty
of ways to shoot yourself in the foot. It's a waste of time debugging
things that a proper programming language can easily prevent.

The function addch expects an argument of type 'chtype'. Passing a
"double-quoted" string does not match this, as 'chtype' is completely
different from a plain 'char'. Instead, functions taking a 'chtype'
must be passed a `backtick-quoted` string.
 1.4 07-Feb-2021  rillig tests/libcurses: demonstrate more bugs in addch
 1.3 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.4 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.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 26-May-2019  blymn Add more tests for curses
 1.1 10-Apr-2011  blymn branches: 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 10-Jun-2019  christos Sync with HEAD
 1.3 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.2 29-Aug-2011  christos This could have never worked before since the syntax was wrong. Unfortunately
since I added the error checking, I was blamed for it failing. Go figure.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.4 22-Jun-2021  blymn Update the check files to account for fixes to addstr.c
 1.3 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.2 07-Feb-2021  rillig branches: 1.2.4;
libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2.4.1 06-Jun-2021  cjep sync with head
 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.2 29-Aug-2011  christos change comparend to compare so that this passes now.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 26-May-2019  blymn Add more tests for curses
 1.1 10-Apr-2011  blymn branches: 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 10-Jun-2019  christos Sync with HEAD
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file bkgdset was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 21-Apr-2022  blymn Actually add the bkgrndset test case so it runs plus fix a typo in
the bkgrndset test script.
 1.1 20-Apr-2022  blymn Add a test for the bkgrndset function
 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 05-Jun-2021  blymn Decouple the clear test from the addstr test, they should not be linked
together because they are not really related.
 1.1 10-Apr-2011  blymn branches: 1.1.52;
Add atf for libcurses with some tests
 1.1.52.1 06-Jun-2021  cjep sync with head
 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.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 26-May-2019  blymn Adjust copywin test to work correctly with updated curses.
This fixes PR 54231
 1.1 10-Apr-2011  blymn branches: 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 10-Jun-2019  christos Sync with HEAD
 1.2 05-Jun-2024  uwe adjust initial cursor state to reflect reality

Missed in PR bin/58090
Fixes PR lib/58313
 1.1 10-Apr-2011  blymn branches: 1.1.54;
Add atf for libcurses with some tests
 1.1.54.1 24-Jul-2024  martin Pull up following revision(s) (requested by uwe in ticket #768):

tests/lib/libcurses/tests/curs_set: revision 1.2
lib/libcurses/screen.c: revision 1.39

curses: init old_mode to 1 (normal visible cursor)
PR bin/58090: Ctrl-Z, fg makes blinking cursor in vi
ok blymn@

adjust initial cursor state to reflect reality
Missed in PR bin/58090

Fixes PR lib/58313
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file define_key was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delay_output was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delch was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file deleteln was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file delwin was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 11-Jun-2019  blymn fix derwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file derwin was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file doupdate was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 11-Jun-2019  blymn Fix dupwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file dupwin was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file echo was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file erasechar was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file fill_screen_numbers was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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 11-Jun-2019  blymn Fix dupwin test.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file fill_window_numbers was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file flash was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getattrs was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getbegx was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getbegy was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getbkgd was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getcap was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getcurx was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getmaxx was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getmaxy was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getnstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file getparx was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 26-May-2019  blymn Add more tests for curses
 1.1 10-Apr-2011  blymn branches: 1.1.44;
Add atf for libcurses with some tests
 1.1.44.1 10-Jun-2019  christos Sync with HEAD
 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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file has_colors was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file has_ic was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file hline was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file inch was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file inchnstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file init_color was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file innstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.3 19-Oct-2022  blymn Updates to account for changes resulting from fixes to libcurses.
 1.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.2 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 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.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file insch was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.2 10-Apr-2022  andvar fix various typos in comments and output/log messages.
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file is_linetouched was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file is_wintouched was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.3 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.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file keyname was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file keyok was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file killchar was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file meta was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.4 02-Jun-2023  andvar follow the steps of Andrew Doran (ad) commit and fix more s/loose/lose/ typos.
also s/beyound/beyond/ and few others along the way, mainly in comments.
 1.3 03-May-2022  blymn Add mutt_test to the test runs, this test tries to emulate a real
curses application to test the interaction of various curses calls.
 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 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mutt_test was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddch was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddchnstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddchstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddnstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvaddstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvchgat was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvcur was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvderwin was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetnstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvgetstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvhline was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvinchnstr was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.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.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.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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvprintw was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.7 04-Apr-2021  rin Reapply fix for big-endian environments, which was lost when GSoC results
were merged...

http://www.nerv.org/netbsd/?q=id:20200620T075016Z.3584036ccf31f69ee76ea4a02e9be30ff081df21

> Fix false positive for mvscanw tests on big endian machines.
>
> When conversion specifier is not a derivative form of "%s", retrieve
> input as 32bit integer, and then convert to string literal. Then we
> can avoid interpretation from ASCII code to integer, which is
> apparently byte-order depended.
 1.6 04-Apr-2021  rin When mvscanw(3) fails, string is not modified.
Let's ignore the 2nd result for this case.
 1.5 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.4 20-Jun-2020  rin Fix false positive for mvscanw tests on big endian machines.

When conversion specifier is not a derivative form of "%s", retrieve
input as 32bit integer, and then convert to string literal. Then we
can avoid interpretation from ASCII code to integer, which is
apparently byte-order depended.
 1.3 07-Feb-2020  uwe Fix typo in a comment.
 1.2 25-Jun-2019  blymn Fixed mvscanw test but leave disabled for the moment, the return for
mvscanw is incorrect in libcurses, we need a major lib version bump
to correct it.
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvscanw was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file mvvline was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.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.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.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.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.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.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.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.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.2 13-Feb-2021  rillig tests/libcurses: "fix" test mvwin

The test mvwin previously expected an endless stream of bytes, by
comparing the actual output with /dev/zero. This didn't make sense as
the curses output does not contain '\0' in any of the test cases.

Compare with /dev/null instead. This is as wrong as before, but the
curses test framework currently ignores this situation, as for many
other test cases. See the numerous "Excess" messages in atf-run.log.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.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.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.2 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 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.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.2 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 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.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.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.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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file nocbreak was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 1.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file nodelay was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.2 25-Jan-2022  blymn Update of tests to account for output changes associated with wide char
fixes. Also, default all tests to using UTF8 instead of doing a special
dance for the wide character tests and fix debug_test to force set the
locale to UTF8 so tests under debug don't throw spurious mismatches
when a wide character test is run.
 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.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file pad was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.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.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.5 08-Nov-2022  blymn * Uncomment the slk_wset test which was previously commented out due
to incorrect output as this bug has been fixed.
* Added a check file to verify the slk_wset output.
 1.4 22-Jun-2021  blymn Fix slk test and check files due to libcurses slk changes.
 1.3 15-Jun-2021  blymn Restore the slk_wset test after fixing a but in libcurses.
 1.2 06-Jun-2021  blymn New tests and updates for corrected behaviour due to fix for PR56224
* Added extra testing to the addstr test to demonstrate bug described
in PR#56224 and validate case when scrolling enabled still works.
* Fixed slk test, the slk_init output changed due to corrected wrapping,
slk_restore no longer returns ERR probably due to addwchar no longer
returning ERR when an implicit scroll was attempted when scrolling
disabled. Commented out the slk_wset test, this is now returning ERR
instead of misbehaving, needs investigation.
 1.1 24-Oct-2020  blymn branches: 1.1.4;
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.1.4.1 06-Jun-2021  cjep sync with head
 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.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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 20-Apr-2011  blymn Add boolean values to the standard definitions.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.3 09-Feb-2021  rillig tests/libcurses: fix spelling of the special call to DRAIN
 1.2 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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.2 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.1 26-May-2019  blymn branches: 1.1.2;
Add more tests for curses
 1.1.2.2 10-Jun-2019  christos Sync with HEAD
 1.1.2.1 26-May-2019  christos file touchline was added on branch phil-wifi on 2019-06-10 22:10:06 +0000
 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.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.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.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.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.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.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.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.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.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.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.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.2 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 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.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.3 10-Nov-2022  blymn Uncomment the waddstr call that was returning ERR, this is actually
correct so make the expected return ERR then repeat the call with
scrollok set to true to validate.

Do refreshes on the window instead of stdscr so we get the window
contents reported and update the check files with the expected
output.
 1.2 07-Feb-2021  rillig libcurses: demonstrate bug in addch that doubles tab indentation

When adding "\t" via addch, win.curx advances by twice the spaces as
intended. This bug was introduced somewhere between NetBSD 8.0 and 9.0.

Adding "\t" via addstr does not have this bug.

This bug causes the installation menu of sysinst to be have its menu
items indented by 16 characters instead of only 8. This in turn
produces an ugly line break in the German translation.

The test framework for libcurses is not well integrated into ATF.
Whenever the expected output is longer than the actual output, or vice
versa, the test passes nevertheless. This makes it necessary to
constantly look into atf-run.log to see whether the actual output is
indeed equal to the expected output, which is crucial, especially for
telling the difference between addstr and addnstr.

Reusing the .chk files for several tests is not a good idea either. For
example, addstr and waddstr are supposed to produce the same result for
ASCII-only text, so it was tempting to use the same file. But waddstr
seems to have a bug (maybe undefined behavior), at least waddstr returns
ERR in one case where it shouldn't. This means that currently the
expected output (acknowledging the bug) must be different.

The "expected" test output in waddstr.chk looks completely broken, but
that's exactly what the test produces right now.
 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.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.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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.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.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.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.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.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.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.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.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.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.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.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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.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.2 15-Nov-2021  blymn Update the ins_(n)wstr test family to split out the check files
for each call separately and update check files to reflect changed
behaviour due to a fix to related calls.
 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.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.2 16-Nov-2021  blymn Add more testing for special character handling in ins_wstr family.
 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.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.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.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.1 26-Apr-2022  blymn Add test for wresize.
 1.1 10-Apr-2011  blymn Add atf for libcurses with some tests
 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.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.2 09-Feb-2021  rillig tests/libcurses: fix spelling of the special call to DRAIN
 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.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.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.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.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.

RSS XML Feed