Home | History | Annotate | only in /src/tests/lib/libcurses/slave
History log of /src/tests/lib/libcurses/slave
RevisionDateAuthorComments
 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.

RSS XML Feed