# # spec file for package dejagnu # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: dejagnu Version: 1.6.3 Release: 2.2 Summary: Framework for Running Test Suites on Software Tools License: GPL-3.0-or-later Group: Development/Tools/Building URL: https://www.gnu.org/software/dejagnu/ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig Source2: https://savannah.gnu.org/project/release-gpgkeys.php?group=dejagnu&download=1#/%{name}.keyring Source3: site.exp Patch0: testsuite-legacy.patch BuildRequires: expect BuildRequires: fdupes BuildRequires: gcc-c++ Requires: expect Requires: info Requires: tcl Requires(post): %{install_info_prereq} Requires(preun):%{install_info_prereq} BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch %description DejaGnu is a framework for testing other programs. Its purpose is to provide a single front-end for all tests. Beyond this, DejaGnu offers several advantages for testing: 1. The flexibility and consistency of the DejaGnu framework make it easy to write tests for any program. 1. DejaGnu provides a layer of abstraction that allows you to write tests that are portable to any host or target where a program must be tested. For instance, a test for GDB can run (from any Unix-based host) on any target architecture that DejaGnu supports. 1. All tests have the same output format. This makes it easy to integrate testing into other software development processes. DejaGnu's output is designed to be parsed by other filtering scripts and it is also human-readable. DejaGnu is written in expect, which in turn uses "Tcl"--Tool command language. Running tests requires two things: the testing framework and the test suites themselves. %prep %autosetup -p1 %build # 49078@debbugs.gnu.org: bug in Expect 5.45.4 triggers a testsuite failure # when building in source directory mkdir build cd build %define _configure ../configure %configure make %{?_smp_mflags} %check make -C build check %install make -C build %{?_smp_mflags} DESTDIR=%{buildroot} install install -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/dejagnu/site.exp ln -s -f %{_sysconfdir}/dejagnu/site.exp %{buildroot}%{_datadir}/dejagnu/site.exp %fdupes -s %{buildroot} %post %install_info --info-dir=%{_infodir} %{_infodir}/dejagnu.info%{ext_info} %preun %install_info_delete --info-dir=%{_infodir} %{_infodir}/dejagnu.info%{ext_info} %files %defattr(-, root, root) %license COPYING %doc ChangeLog NEWS README AUTHORS TODO %dir %{_datadir}/dejagnu %dir %{_sysconfdir}/dejagnu %{_bindir}/dejagnu %{_bindir}/runtest %{_mandir}/man1/dejagnu.1%{ext_man} %{_mandir}/man1/dejagnu-help.1%{ext_man} %{_mandir}/man1/dejagnu-report-card.1%{ext_man} %{_mandir}/man1/runtest.1%{ext_man} %{_infodir}/dejagnu.info%{ext_info} %{_includedir}/* %config(noreplace) %{_sysconfdir}/dejagnu/site.exp %{_datadir}/dejagnu/* %changelog * Wed Feb 21 2024 Andreas Schwab - Use %%autosetup * Wed Jun 30 2021 Andreas Schwab - testsuite-legacy.patch: support deprecated legacy uses of dejagnu * Mon Jun 21 2021 Andreas Schwab - Update to dejagnu 1.6.3 * The internal proc 'is_remote' has been renamed to 'isremote' for consistency with the other similar procs (eg, istarget) * runtest now accepts --local_init and --global_init options to override the default of reading "site.exp" * runtest now responds consistently to all Tcl errors and generates an UNRESOLVED result when a test script aborts * 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 * A utility procedure relative_filename has been added * The utility procedure 'grep' now accepts a '-n' option that includes line numbers in the output, consistent with GNU grep * The target_compile procedure now accepts a "linker=" option that overrides the compiler selection when producing an executable * The internal default_target_compile procedure now supports compiling sources in Go (using GCC Go) and Rust * The host_execute procedure no longer insists that the executable be in the current directory if the file exists under the given name * The host_execute procedure now reads input to end-of-file * The match patterns in the host_execute procedure have been revised to fix timing issues causing test names to be truncated * The host_execute procedure is no longer sensitive to the value of the "text" global variable * A new multiplex procedure "testsuite" is added for commands retrieving or providing information about the current testsuite * A command "testsuite file" is added to replace the use of the "*dir" variables in test scripts * A command "testsuite can call" is added to report the availability of multiplexed API calls * A new multiplex procedure "testcase" is added for commands examining or manipulating the dynamic state of ongoing testing * A command "testcase group" is provided for reporting test groups to the DejaGnu core * A shell command "dejagnu" is added as a place to hang various auxiliary commands not directly involved with running tests * The first auxiliary command is added: "report card" * 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 * 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 * Wed Nov 28 2018 schwab@suse.de - Update to dejagnu 1.6.2 * runtest will abort if $DEJAGNU is defined but the file is not found. - close-wait-program.patch: Removed * Tue Jul 31 2018 schwab@suse.de - Adjust license * Tue Jul 17 2018 schwab@suse.de - close-wait-program.patch: Use separate kill command for each pid (bsc#1100206) - Use %%license. * Tue Oct 17 2017 schwab@suse.de - Update to 1.6.1 * Minor bug fixes, no major changes * Sat Apr 16 2016 mpluskal@suse.com - Update to 1.6 * Proper support for target communication via SSH has been added. * 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. * 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. * 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. * runtest now exits with the standard exit codes of programs that are terminated by the SIGINT, SIGTERM and SIGQUIT signals. * 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. * Support was added for testing the D compiler. * ~/.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). * 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. - Run tests during build - Small spec-file polishing * Wed Apr 1 2015 schwab@suse.de - Update to dejagnu 1.5.3 * More bugfixes * Sat Mar 14 2015 mpluskal@suse.com - Add gpg signature - Add dependencies for macros dealing with info files - Use fdupes to avoid duplicate files - Small spec file cleanup by spec-cleaner * Mon Feb 9 2015 schwab@suse.de - Update to dejagnu 1.5.2 * New boards and bugfixes * Tue Apr 8 2014 schwab@suse.de - Update to dejagnu 1.5.1 1. The runtest.1 man page has been brought up to date. 2. The Docbook/SGML documentation files were removed in favour of the Docbook/XML documentation. The Texinfo source for the Info pages is now automatically generated from the Docbook source. 3. The Makefile structure has been substantially simplified. There is now a single top-level Makefile.am. The use of recursive make has been eliminated. 4. lib/mondfe.exp and lib/xsh.exp have been removed. Users requiring these communication modes can still use the DejaGnu 1.4 branch or can contact dejagnu@gnu.org to discuss reinstating these files. 5. The configure script now ensures that Expect is installed and that it is linked against Tcl 8.3 or greater. 6. The runtest program now gracefully handles the possibility of the expect binary vanishing after DejaGnu has been installed (for example, by the user altering their PATH). 7. The user-visible utility procedures `absolute', `prune', `psource' and `slay' are 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. - dejagnu-ignore-libwarning.patch: Removed - dejagnu-make_doc.patch: Removed - Build as noarch * Fri Mar 22 2013 mmeister@suse.com - Added url as source. Please see http://en.opensuse.org/SourceUrls * Fri Jan 11 2013 coolo@suse.com - remove suse_update_config macro * Thu Dec 1 2011 coolo@suse.com - add automake as buildrequire to avoid implicit dependency * Sun Sep 18 2011 jengelh@medozas.de - Remove redundant tags/sections from specfile (cf. packaging guidelines) - Use %%_smp_mflags for parallel build * Mon Dec 7 2009 jengelh@medozas.de - enable parallel building * Wed May 16 2007 rguenther@suse.de - Remove files from correct place. * Sun Feb 11 2007 aj@suse.de - Fix install of manpage. * Wed Jun 14 2006 mmarek@suse.cz - remove more backup files (autoreconf leftovers) * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Mon Jul 26 2004 schwab@suse.de - Rerun autoreconf in example directories. * Mon May 31 2004 mcihar@suse.cz - update to 1.4.4 * Thu Mar 18 2004 mcihar@suse.cz - remove backup files * Wed Oct 1 2003 kukuk@suse.de - Don't regenerate documentation * Thu Aug 14 2003 mcihar@suse.cz - included examples (bug #28172) * Mon Jun 9 2003 aj@suse.de - Ignore linker warning when searching 64bit libraries in /lib. * Tue May 20 2003 aj@suse.de - Fix wrong break statement so that correct runtest.exp is taken. * Mon May 19 2003 aj@suse.de - Fix handling of [getdirs -all $rootdir]. * Tue May 13 2003 aj@suse.de - Handle _exit correctly. * Mon Nov 11 2002 ro@suse.de - changed neededforbuild to - changed neededforbuild to * Fri Nov 8 2002 mcihar@suse.cz - included /usr/include/dejagnu.h in rpm * Wed Sep 25 2002 mcihar@suse.cz - new upstream version 1.4.3, major changes: 1. New XML output option, so test results can be loaded into a database. 2. Support for the KFAIL/KPASS (known failures). This is mostly oriented towards GDB testing. 3. New "Hello World" example. 4. New tutorial chapter. - removed uneeded patches - config site.exp is now physically located in /etc/dejagnu, in /usr/share/dejagnu is just symlink * Tue Sep 17 2002 ro@suse.de - removed bogus self-provides * Mon Sep 2 2002 kukuk@suse.de - Remove sh-utils from neededforbuild * Fri Jul 12 2002 aj@suse.de - Fix remote.exp. - Add support for mmixware simulator. * Wed Jun 26 2002 schwab@suse.de - Fix argument parsing. * Tue Jun 25 2002 schwab@suse.de - Restore working site.exp. * Fri Jun 14 2002 mcihar@suse.cz - updated to 1.4.2: * Various patches for bugs reported from net users. * There is new support for a simple unit testing API, that is also useful for embedded testing. - html and pdf documantaion is included * Tue May 8 2001 mfabian@suse.de - bzip2 sources * Wed Apr 18 2001 nadvornik@suse.cz - installed info pages [bug #6990] * Thu Mar 15 2001 nadvornik@suse.cz - update to 1.4.0 * Wed Apr 19 2000 nadvornik@suse.cz - added BuildRoot - added URL - fixed Group tag * Mon Mar 6 2000 ro@suse.de - use macro for mandir * Tue Nov 30 1999 kukuk@suse.de - Fix SIGPWR/SIGLOST for SPARC * Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. * Wed Jun 30 1999 ro@suse.de - update to snapshot 19990614 * Mon Oct 20 1997 hf@suse.de ready for autobuild * Mon Apr 28 1997 hf@suse.de New version of dejagnu works with tcl7.6 and expect 5.22, and have more procs.