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

RSS XML Feed