From dc67c894db920e8f145de970ac2e61396d8db9db Mon Sep 17 00:00:00 2001 From: Jacob Bachmeyer Date: Wed, 2 Jan 2019 22:48:20 +1100 Subject: * NEWS: Document report card. * Makefile.am (clean-local): Add target. (clean-local-check): Add target; mark as PHONY. (commands_DATA): Add "report-card" scripts. (dist_man_MANS): Add dejagnu-report-card.1 and split. (DEJATOOL): Add "report-card" tool. (TESTSUITE_FILES): Add testsuite for "report-card" tool. * commands/report-card.awk: New command script. * doc/dejagnu.texi (Invoking dejagnu report card): New node. * doc/dejagnu-report-card.1: New man page. * testsuite/lib/bohman_ssd.exp: New file. * testsuite/lib/report-card.exp: New file. * testsuite/report-card.all/onetest.exp: New file. * testsuite/report-card.all/passes.exp: New file. Signed-off-by: Ben Elliston --- ChangeLog | 21 +++ Makefile.am | 24 ++- Makefile.in | 65 +++++--- NEWS | 3 + commands/report-card.awk | 238 +++++++++++++++++++++++++++++ doc/dejagnu-report-card.1 | 146 ++++++++++++++++++ doc/dejagnu.texi | 45 +++++- doc/version.texi | 4 +- testsuite/lib/bohman_ssd.exp | 225 +++++++++++++++++++++++++++ testsuite/lib/report-card.exp | 39 +++++ testsuite/report-card.all/onetest.exp | 209 +++++++++++++++++++++++++ testsuite/report-card.all/passes.exp | 276 ++++++++++++++++++++++++++++++++++ 12 files changed, 1262 insertions(+), 33 deletions(-) create mode 100644 commands/report-card.awk create mode 100644 doc/dejagnu-report-card.1 create mode 100644 testsuite/lib/bohman_ssd.exp create mode 100644 testsuite/lib/report-card.exp create mode 100644 testsuite/report-card.all/onetest.exp create mode 100644 testsuite/report-card.all/passes.exp diff --git a/ChangeLog b/ChangeLog index 455168a..68c1cce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +2019-01-02 Jacob Bachmeyer + + * NEWS: Document report card. + + * Makefile.am (clean-local): Add target. + (clean-local-check): Add target; mark as PHONY. + (commands_DATA): Add "report-card" scripts. + (dist_man_MANS): Add dejagnu-report-card.1 and split. + (DEJATOOL): Add "report-card" tool. + (TESTSUITE_FILES): Add testsuite for "report-card" tool. + + * commands/report-card.awk: New command script. + + * doc/dejagnu.texi (Invoking dejagnu report card): New node. + * doc/dejagnu-report-card.1: New man page. + + * testsuite/lib/bohman_ssd.exp: New file. + * testsuite/lib/report-card.exp: New file. + * testsuite/report-card.all/onetest.exp: New file. + * testsuite/report-card.all/passes.exp: New file. + 2019-01-02 Ben Elliston * Makefile.am (DISTCLEANFILES): Don't use this. diff --git a/Makefile.am b/Makefile.am index 99a7eec..d78993c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 1992-2016, 2018 Free Software Foundation, Inc. +# Copyright (C) 1992-2016, 2018, 2019 Free Software Foundation, Inc. # # This file is part of DejaGnu. # @@ -28,6 +28,14 @@ EXTRA_DIST = ChangeLog-1992 MAINTAINERS dejagnu runtest \ CLEANFILES = options-init.exp stats-init.exp +clean-local: clean-local-check +.PHONY: clean-local-check +clean-local-check: + -rm -rf testsuite/launcher.all/command/bin + -rm -rf testsuite/launcher.all/command/share + -rm -rf testsuite/report-card.all/onetest + -rm -rf testsuite/report-card.all/passes + # Give a reassuring message so that users know the "build" worked. all-local: @echo "Done. Now run 'make install'." @@ -60,7 +68,8 @@ pkgdata_DATA = \ commandsdir = $(pkgdatadir)/commands commands_DATA = \ - commands/help.sh + commands/help.sh \ + commands/report-card.awk configdir = $(pkgdatadir)/config config_DATA = \ @@ -157,6 +166,8 @@ TESTSUITE_FILES = \ testsuite/launcher.all/help.exp \ testsuite/launcher.all/interp.exp \ testsuite/launcher.all/verbose.exp \ + testsuite/report-card.all/onetest.exp \ + testsuite/report-card.all/passes.exp \ testsuite/runtest.libs/topdir/subdir1/subsubdir1/subsubfile1 \ testsuite/runtest.libs/topdir/subdir1/subfile1 \ testsuite/runtest.libs/topdir/subdir1/subfile2 \ @@ -173,14 +184,16 @@ TESTSUITE_FILES = \ testsuite/runtest.main/options/testsuite/null.test/null.exp \ testsuite/runtest.main/stats.exp \ testsuite/runtest.main/stats/testsuite/stat.test/stats-sub.exp \ + testsuite/lib/bohman_ssd.exp \ testsuite/lib/launcher.exp \ testsuite/lib/libdejagnu.exp \ testsuite/lib/libsup.exp \ + testsuite/lib/report-card.exp \ testsuite/lib/runtest.exp \ testsuite/lib/util-defs.exp \ testsuite/libdejagnu/tunit.exp -DEJATOOL = launcher libdejagnu runtest +DEJATOOL = launcher libdejagnu report-card runtest RUNTEST = ${top_srcdir}/runtest @@ -191,5 +204,8 @@ unit_SOURCES = testsuite/libdejagnu/unit.cc # Documentation. TEXINFO_TEX = doc/texinfo.tex -dist_man_MANS = doc/dejagnu.1 doc/dejagnu-help.1 doc/runtest.1 +dist_man_MANS = doc/dejagnu.1 \ + doc/dejagnu-help.1 \ + doc/dejagnu-report-card.1 \ + doc/runtest.1 info_TEXINFOS = doc/dejagnu.texi diff --git a/Makefile.in b/Makefile.in index 1a6d1ef..1cd211c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 1992-2016, 2018 Free Software Foundation, Inc. +# Copyright (C) 1992-2016, 2018, 2019 Free Software Foundation, Inc. # # This file is part of DejaGnu. # @@ -409,7 +409,8 @@ pkgdata_DATA = \ commandsdir = $(pkgdatadir)/commands commands_DATA = \ - commands/help.sh + commands/help.sh \ + commands/report-card.awk configdir = $(pkgdatadir)/config config_DATA = \ @@ -505,6 +506,8 @@ TESTSUITE_FILES = \ testsuite/launcher.all/help.exp \ testsuite/launcher.all/interp.exp \ testsuite/launcher.all/verbose.exp \ + testsuite/report-card.all/onetest.exp \ + testsuite/report-card.all/passes.exp \ testsuite/runtest.libs/topdir/subdir1/subsubdir1/subsubfile1 \ testsuite/runtest.libs/topdir/subdir1/subfile1 \ testsuite/runtest.libs/topdir/subdir1/subfile2 \ @@ -521,21 +524,27 @@ TESTSUITE_FILES = \ testsuite/runtest.main/options/testsuite/null.test/null.exp \ testsuite/runtest.main/stats.exp \ testsuite/runtest.main/stats/testsuite/stat.test/stats-sub.exp \ + testsuite/lib/bohman_ssd.exp \ testsuite/lib/launcher.exp \ testsuite/lib/libdejagnu.exp \ testsuite/lib/libsup.exp \ + testsuite/lib/report-card.exp \ testsuite/lib/runtest.exp \ testsuite/lib/util-defs.exp \ testsuite/libdejagnu/tunit.exp -DEJATOOL = launcher libdejagnu runtest +DEJATOOL = launcher libdejagnu report-card runtest RUNTEST = ${top_srcdir}/runtest AM_CXXFLAGS = -I$(top_srcdir) -g unit_SOURCES = testsuite/libdejagnu/unit.cc # Documentation. TEXINFO_TEX = doc/texinfo.tex -dist_man_MANS = doc/dejagnu.1 doc/dejagnu-help.1 doc/runtest.1 +dist_man_MANS = doc/dejagnu.1 \ + doc/dejagnu-help.1 \ + doc/dejagnu-report-card.1 \ + doc/runtest.1 + info_TEXINFOS = doc/dejagnu.texi all: all-am @@ -1304,7 +1313,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-aminfo clean-checkPROGRAMS clean-generic \ +clean-am: clean-aminfo clean-checkPROGRAMS clean-generic clean-local \ mostlyclean-am distclean: distclean-am @@ -1480,25 +1489,25 @@ uninstall-man: uninstall-man1 .PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \ check-DEJAGNU check-am clean clean-aminfo clean-checkPROGRAMS \ - clean-cscope clean-generic cscope cscopelist-am ctags ctags-am \ - dist dist-all dist-bzip2 dist-gzip dist-info dist-lzip \ - dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-DEJAGNU distclean-compile distclean-generic \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-baseboardDATA install-binSCRIPTS install-commandsDATA \ - install-configDATA install-data install-data-am \ - install-djlibexecSCRIPTS install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-includeHEADERS install-info install-info-am \ - install-man install-man1 install-pdf install-pdf-am \ - install-pkgdataDATA install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-vti mostlyclean mostlyclean-aminfo \ - mostlyclean-compile mostlyclean-generic mostlyclean-vti pdf \ - pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-baseboardDATA uninstall-binSCRIPTS \ + clean-cscope clean-generic clean-local cscope cscopelist-am \ + ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-info \ + dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \ + distclean distclean-DEJAGNU distclean-compile \ + distclean-generic distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-baseboardDATA install-binSCRIPTS \ + install-commandsDATA install-configDATA install-data \ + install-data-am install-djlibexecSCRIPTS install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-includeHEADERS install-info \ + install-info-am install-man install-man1 install-pdf \ + install-pdf-am install-pkgdataDATA install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-vti mostlyclean \ + mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ + mostlyclean-vti pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-baseboardDATA uninstall-binSCRIPTS \ uninstall-commandsDATA uninstall-configDATA \ uninstall-djlibexecSCRIPTS uninstall-dvi-am uninstall-html-am \ uninstall-includeHEADERS uninstall-info-am uninstall-man \ @@ -1509,6 +1518,14 @@ uninstall-man: uninstall-man1 export DEJAGNU +clean-local: clean-local-check +.PHONY: clean-local-check +clean-local-check: + -rm -rf testsuite/launcher.all/command/bin + -rm -rf testsuite/launcher.all/command/share + -rm -rf testsuite/report-card.all/onetest + -rm -rf testsuite/report-card.all/passes + # Give a reassuring message so that users know the "build" worked. all-local: @echo "Done. Now run 'make install'." diff --git a/NEWS b/NEWS index b3669e6..081f1a4 100644 --- a/NEWS +++ b/NEWS @@ -19,6 +19,9 @@ Changes since 1.6.2: auxiliary commands not directly involved with running tests. The "runtest" command will remain for that purpose for the forseeable future. +8. 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. Changes since 1.6.1: diff --git a/commands/report-card.awk b/commands/report-card.awk new file mode 100644 index 0000000..b04c0e9 --- /dev/null +++ b/commands/report-card.awk @@ -0,0 +1,238 @@ +# report-card.awk -- Test summary tool +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# This file is part of DejaGnu. +# +# DejaGnu is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# DejaGnu is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with DejaGnu; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + +# This file was written by Jacob Bachmeyer. + +# ##help +# #Usage: dejagnu report card [