diff --git a/docs/reference/glib/glib-docs.xml b/docs/reference/glib/glib-docs.xml index 6d5c2ad4f..fa43eaff7 100644 --- a/docs/reference/glib/glib-docs.xml +++ b/docs/reference/glib/glib-docs.xml @@ -136,6 +136,10 @@ GLib Tools + + + + Deprecated Tools diff --git a/docs/reference/glib/gtester-report.xml b/docs/reference/glib/gtester-report.xml index 4fd0685c0..eee933784 100644 --- a/docs/reference/glib/gtester-report.xml +++ b/docs/reference/glib/gtester-report.xml @@ -35,6 +35,9 @@ gtester-report is a script which converts the XML output generated by gtester into HTML. +Since GLib 2.62, gtester-report is deprecated. Use +TAP for reporting test results instead, and feed it to the test harness provided +by your build system. Options diff --git a/docs/reference/glib/gtester.xml b/docs/reference/glib/gtester.xml index b1c126bd9..5626d4df8 100644 --- a/docs/reference/glib/gtester.xml +++ b/docs/reference/glib/gtester.xml @@ -40,6 +40,9 @@ gtester is a utility to run unit tests that have been written using the GLib test framework. +Since GLib 2.62, gtester-report is deprecated. Use +TAP for reporting test results instead, and feed it to the test harness provided +by your build system. When called with the option, gtester writes an XML report of the test results, which can be converted diff --git a/glib/gtester-report.in b/glib/gtester-report.in index 01f6033f7..e5121f709 100644 --- a/glib/gtester-report.in +++ b/glib/gtester-report.in @@ -15,6 +15,10 @@ # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, see . + +# Deprecated: Since GLib 2.62, gtester and gtester-report have been deprecated +# in favour of TAP. + import datetime import optparse import sys, re, xml.dom.minidom @@ -343,6 +347,9 @@ class HTMLReportWriter(ReportWriter): self.oprint ('\n') self.oprint ('

GTester Unit Test Report

\n') self.handle_info () + self.oprint ('

' + 'Deprecated: Since GLib 2.62, gtester and gtester-report are ' + 'deprecated. Port to TAP.

\n'); self.oprint ('\n\n') self.oprint ('\n') self.oprint ('\n') @@ -474,6 +481,10 @@ def main(): options, files = parse_opts() if options is None: return 0 + + print("Deprecated: Since GLib 2.62, gtester and gtester-report are " + "deprecated. Port to TAP.", file=sys.stderr) + xd = xml.dom.minidom.parse (files[0]) rr = ReportReader() rr.trampoline (xd) diff --git a/glib/gtester.c b/glib/gtester.c index 368fa8f3d..fdcdaca10 100644 --- a/glib/gtester.c +++ b/glib/gtester.c @@ -43,6 +43,7 @@ static gboolean gtester_quiet = FALSE; static gboolean gtester_verbose = FALSE; static gboolean gtester_list_tests = FALSE; static gboolean gtester_selftest = FALSE; +static gboolean gtester_ignore_deprecation = FALSE; static gboolean subtest_running = FALSE; static gint subtest_exitstatus = 0; static gboolean subtest_io_pending = FALSE; @@ -660,6 +661,11 @@ parse_args (gint *argc_p, } argv[i] = NULL; } + else if (strcmp ("--i-know-this-is-deprecated", argv[i]) == 0) + { + gtester_ignore_deprecation = TRUE; + argv[i] = NULL; + } } /* collapse argv */ e = 1; @@ -690,6 +696,10 @@ main (int argc, return 1; } + if (!gtester_ignore_deprecation) + g_warning ("Deprecated: Since GLib 2.62, gtester and gtester-report are " + "deprecated. Port to TAP."); + if (output_filename) { int errsv; @@ -700,6 +710,8 @@ main (int argc, } test_log_printfe ("\n"); + test_log_printfe ("\n"); test_log_printfe ("%s\n", sindent (log_indent)); log_indent += 2; for (ui = 1; ui < argc; ui++) diff --git a/glib/gtestutils.c b/glib/gtestutils.c index d129b8742..3eca0a4d3 100644 --- a/glib/gtestutils.c +++ b/glib/gtestutils.c @@ -60,7 +60,6 @@ * SECTION:testing * @title: Testing * @short_description: a test framework - * @see_also: [gtester][gtester], [gtester-report][gtester-report] * * GLib provides a framework for writing and maintaining unit tests * in parallel to the code they are testing. The API is designed according @@ -235,7 +234,9 @@ * If you don't have access to the Autotools TAP harness, you can use the * [gtester][gtester] and [gtester-report][gtester-report] tools, and use * the [glib.mk](https://gitlab.gnome.org/GNOME/glib/blob/glib-2-58/glib.mk) - * Automake template provided by GLib. + * Automake template provided by GLib. Note, however, that since GLib 2.62, + * [gtester][gtester] and [gtester-report][gtester-report] have been deprecated + * in favour of using TAP. */ /** diff --git a/glib/tests/meson.build b/glib/tests/meson.build index e6c5cbd22..7aa16d279 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build @@ -229,7 +229,7 @@ if not meson.is_cross_build() and host_system != 'windows' if xmllint.found() tmpsample_xml = custom_target('tmpsample.xml', output : 'tmpsample.xml', - command : [ gtester, '-k', '--quiet', '-o', '@OUTPUT@', + command : [ gtester, '-k', '--quiet', '--i-know-this-is-deprecated', '-o', '@OUTPUT@', '--test-arg=--gtester-selftest', gtester]) test('gtester-xmllint-check', xmllint,
Program / Testcase Duration (sec)