[ANNOUNCEMENT] Updated: dejagnu 1.6.3

Cygwin dejagnu Maintainer Brian.Inglis@SystematicSW.ab.ca
Sun Sep 19 23:12:12 GMT 2021

The following packages have been upgraded in the Cygwin distribution:

* dejagnu	1.6.3

DejaGnu is a framework for testing other programs. Its purpose is to
provide a single front end for all tests. Think of it as a custom
library of Tcl procedures crafted to support writing a test harness. A
test harness is the testing infrastructure that is created to support a
specific program or tool. Each program can have multiple testsuites, all
supported by a single test harness. DejaGnu is written in Expect, which
in turn uses Tcl -- Tool command language.

For more information see the project home page:


or the repo README:


Please see below or read /usr/share/doc/dejagnu/NEWS after installation
for details of changes since the last Cygwin release:


Changes since 1.6.2:

 1. The internal proc 'is_remote' has been renamed to 'isremote' for
    consistency with the other similar procs (eg, istarget). Testsuites
    should use this proc. The 'is_remote' proc is deprecated.
 2. runtest now accepts --local_init and --global_init options to override
    the default of reading "site.exp".  See the manual for details.
 3. runtest now responds consistently to all Tcl errors and generates an
    UNRESOLVED result when a test script aborts.  Previously, calling an
    undefined procedure would cause the test run to abort while other Tcl
    errors produced only an easily-ignored message.
 4. runtest now collects Tcl errors encountered during a test run and prints
    the collected errors a second time at the end of the test run after the
    summary.  Separator lines containing more than 10 hyphens are included.
 5. A utility procedure relative_filename has been added.  This procedure
    computes a relative file name to a given destination from a given base.
 6. The utility procedure 'grep' now accepts a '-n' option that
    includes line numbers in the output, consistent with GNU grep.
 7. The target_compile procedure now accepts a "linker=" option that
    overrides the compiler selection when producing an executable.
 8. The internal default_target_compile procedure now supports compiling
    sources in Go (using GCC Go) and Rust.
 9. The host_execute procedure no longer insists that the executable be in
    the current directory if the file exists under the given name.
10. The host_execute procedure now reads input to end-of-file, to ensure
    that the child process will be able to complete instead of being cut
    short by a SIGPIPE under unpredictable unfavorable timing scenarios.
11. The match patterns in the host_execute procedure have been revised to
    fix timing issues causing test names to be truncated.
12. The host_execute procedure is no longer sensitive to the value of the
    "text" global variable.
13. A new multiplex procedure "testsuite" is added for commands retrieving
    or providing information about the current testsuite.
14. A command "testsuite file" is added to replace the use of the "*dir"
    variables in test scripts.
15. A command "testsuite can call" is added to report the availability of
    multiplexed API calls.
16. A new multiplex procedure "testcase" is added for commands examining or
    manipulating the dynamic state of ongoing testing.
17. A command "testcase group" is provided for reporting test groups to the
    DejaGnu core.  Currently, the usage of this command is validated, but
    it will affect at least XML output in a future release of DejaGnu.
18. A shell command "dejagnu" is added as a place to hang various
    auxiliary commands not directly involved with running tests. The
    "runtest" command will remain for that purpose for the foreseeable
19. The first auxiliary command is added: "report card". The "dejagnu
    report card" command reads DejaGnu summary files and produces a compact
    tabular summary across multiple tools.
20. A Tcl namespace is now used for some internal procedures and variables.
    The Tcl namespace ::dejagnu and all child namespaces are entirely
    internal and should not be mentioned in testsuite code.  Its contents
    are subject to change without notice, even on point releases.
21. The DejaGnu testsuite no longer searches for a nearby Expect executable
    in the location where it would have been located in the old Cygnus tree
    layout.  If you want to use a special Expect other than the system
    Expect, specify EXPECT=/name/of/expect to "runtest" or "make check".

Changes since 1.6.1:

1. runtest will abort if $DEJAGNU is defined but the file is not

Changes since 1.6:

Minor bug fixes, no major changes.

Changes since 1.5.3:

1. Proper support for target communication via SSH has been added.
2. A large number of very old config and baseboard files have been
   removed.  If you need to resurrect these, you can get them from
   version 1.5.3.  If you can show that a board is still in use, it
   can be put back in the distribution.
3. The --status command line option is now the default. This means
   that any error in the testsuite Tcl scripts will cause runtest to
   abort with exit status code 2.  The --status option has been
   removed from the documentation, but will continue to be accepted
   for backward compatibility.
4. runtest now exits with exit code 0 if the testsuite "passed", 1 if
   something unexpected happened (eg, FAIL, XPASS or UNRESOLVED), and
   2 if an exception is raised by the Tcl interpreter.
5. runtest now exits with the standard exit codes of programs that are
   terminated by the SIGINT, SIGTERM and SIGQUIT signals.
6. The user-visible utility procedures `absolute', `psource' and
   `slay' have been removed.  If a testsuite uses any of these
   procedures, a copy of the procedure should be made and placed in
   the lib directory of the testsuite.
7. Support was added for testing the D compiler.
8. ~/.dejagnurc is now loaded last, not first. This allows the user to
   have the ability to override anything in their environment (even
   the site.exp file specified by $DEJAGNU).
9. The user-visible utility procedure `unsetenv' is deprecated and
   will be removed in the next release.  If a testsuite uses any of
   these procedures, a copy of the procedure should be made and placed
   in the lib directory of the testsuite.

More information about the Cygwin mailing list