From unknown Fri Aug 15 16:17:34 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#11814 <11814@debbugs.gnu.org> To: bug#11814 <11814@debbugs.gnu.org> Subject: Status: The test logs lost their title Reply-To: bug#11814 <11814@debbugs.gnu.org> Date: Fri, 15 Aug 2025 23:17:34 +0000 retitle 11814 The test logs lost their title reassign 11814 automake submitter 11814 Akim Demaille severity 11814 normal tag 11814 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 29 03:22:54 2012 Received: (at submit) by debbugs.gnu.org; 29 Jun 2012 07:22:54 +0000 Received: from localhost ([127.0.0.1]:36224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SkVXa-00038l-5C for submit@debbugs.gnu.org; Fri, 29 Jun 2012 03:22:54 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58595) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SkVXY-00038f-RZ for submit@debbugs.gnu.org; Fri, 29 Jun 2012 03:22:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SkVTL-0003zB-Ue for submit@debbugs.gnu.org; Fri, 29 Jun 2012 03:18:36 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:48142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SkVTL-0003z6-RZ for submit@debbugs.gnu.org; Fri, 29 Jun 2012 03:18:31 -0400 Received: from eggs.gnu.org ([208.118.235.92]:32865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SkVTH-0005KB-CA for bug-automake@gnu.org; Fri, 29 Jun 2012 03:18:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SkVTF-0003yX-Mq for bug-automake@gnu.org; Fri, 29 Jun 2012 03:18:26 -0400 Received: from sao-paulo.lrde.epita.fr ([163.5.55.1]:53822 helo=kualalumpur.lrde.epita.fr) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SkVTF-0003wg-Gq for bug-automake@gnu.org; Fri, 29 Jun 2012 03:18:25 -0400 Received: from [192.168.105.43] by kualalumpur.lrde.epita.fr with esmtpsa (TLS-1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.63) (envelope-from ) id 1SkVSj-0004IM-Sb for bug-automake@gnu.org; Fri, 29 Jun 2012 09:17:53 +0200 From: Akim Demaille Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: The test logs lost their title Date: Fri, 29 Jun 2012 09:17:59 +0200 Message-Id: To: Automake Bugs Mime-Version: 1.0 (Apple Message framework v1278) X-Mailer: Apple Mail (2.1278) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.9 (------) It seems that in recent changes, the test logs have lost their title, which included the exit status. Now, reading a log, one can no longer know how the test exited. From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 29 13:05:42 2012 Received: (at 11814) by debbugs.gnu.org; 29 Jun 2012 17:05:42 +0000 Received: from localhost ([127.0.0.1]:37493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Skeda-0001EE-2L for submit@debbugs.gnu.org; Fri, 29 Jun 2012 13:05:42 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:51194) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SkedY-0001E7-AB for 11814@debbugs.gnu.org; Fri, 29 Jun 2012 13:05:41 -0400 Received: by bkty8 with SMTP id y8so3128940bkt.3 for <11814@debbugs.gnu.org>; Fri, 29 Jun 2012 10:01:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=gVF6/PGfVxMJhARXDv2EVUUgezGwKvqIjx8Q8iZtlck=; b=UEemQFc5RHMdhjeeeVsch2munsEOnQmBuKUGkOEokADI5u9QnSzBv3eVSj6sgW9X7c BEa+C2yJuHH0jBFUzJYw7FJGEUEcw3Tf8ZoBIJnsRaUiDxfABW18t12cERNatjouCYbH 9SCnaPKXtjuHEqrQYDodUf954FKwQ2JqmsnLKIOArhgLmwdVFul33n38N5SN845q7D+N KBgEW635ih84YcO+rrNGVgBysBFeH97HDoz4itJl4mmgc0/Ora+5ZmLdpipaZylTEpgj oum7sDgb2ASZVQq7Hbw8mqPHotjBVfVS403Vd+IaUEFs+jWmt4IJE3vs8CBDxK6+aSHx 5n9Q== Received: by 10.204.157.6 with SMTP id z6mr1544184bkw.15.1340989280563; Fri, 29 Jun 2012 10:01:20 -0700 (PDT) Received: from [87.8.100.159] (host159-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.159]) by mx.google.com with ESMTPS id v3sm443933bku.16.2012.06.29.10.01.18 (version=SSLv3 cipher=OTHER); Fri, 29 Jun 2012 10:01:19 -0700 (PDT) Message-ID: <4FEDDF55.4060101@gmail.com> Date: Fri, 29 Jun 2012 19:01:09 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: Akim Demaille Subject: Re: bug#11814: The test logs lost their title References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11814 Cc: 11814@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) tags notabug 11814 thanks Hi Akim. On 06/29/2012 09:17 AM, Akim Demaille wrote: > It seems that in recent changes, the test logs have lost > their title, which included the exit status. Now, reading > a log, one can no longer know how the test exited. > All of this is intended, because we now report "metadata" about the test run in the '*.trs' file rather than in the '*.log' file. So, to know whether a test run has been successful, or which the results of the individual subtests has been, you should look at that file (it should be easily human readable as well as machine parseable, although its format is still experimental and likely to change in future Automake versions). All of this should be explained in detail in the manual. If you fund something unclear there, feel free to open a new bug report. Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 05 08:44:25 2012 Received: (at 11814) by debbugs.gnu.org; 5 Jul 2012 12:44:25 +0000 Received: from localhost ([127.0.0.1]:49933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SmlPz-0005Zt-Ff for submit@debbugs.gnu.org; Thu, 05 Jul 2012 08:44:24 -0400 Received: from sao-paulo.lrde.epita.fr ([163.5.55.1]:53258 helo=kualalumpur.lrde.epita.fr) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SmlPu-0005Zh-Hc for 11814@debbugs.gnu.org; Thu, 05 Jul 2012 08:44:20 -0400 Received: from erebus.lrde.epita.fr ([192.168.101.165]) by kualalumpur.lrde.epita.fr with esmtpsa (TLS-1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.63) (envelope-from ) id 1SmlLB-00029F-6x; Thu, 05 Jul 2012 14:39:25 +0200 Subject: Re: bug#11814: The test logs lost their title Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: multipart/alternative; boundary="Apple-Mail=_52A65F4F-DA90-443E-A01D-407A2407F4A0" From: Akim Demaille In-Reply-To: <4FEDDF55.4060101@gmail.com> Date: Thu, 5 Jul 2012 14:39:24 +0200 Message-Id: <4D448CD7-1F2F-4769-9E3C-3F54AE54F462@lrde.epita.fr> References: <4FEDDF55.4060101@gmail.com> To: Stefano Lattarini X-Mailer: Apple Mail (2.1278) X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 11814 Cc: 11814@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -0.5 (/) --Apple-Mail=_52A65F4F-DA90-443E-A01D-407A2407F4A0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Le 29 juin 2012 =E0 19:01, Stefano Lattarini a =E9crit : > Hi Akim. Hi! > On 06/29/2012 09:17 AM, Akim Demaille wrote: >> It seems that in recent changes, the test logs have lost >> their title, which included the exit status. Now, reading >> a log, one can no longer know how the test exited. >>=20 > All of this is intended, because we now report "metadata" about the > test run in the '*.trs' file rather than in the '*.log' file. This is not metadata, this is the result of the test case. When reading the log of the test, I expect to get the result. Of course I could do it myself, but it means addition complexity with temporary files, trap etc. which I am very happy to avoid. Was there a _problem_ that needed to be solved by the removal of the result? > So, > to know whether a test run has been successful, or which the results > of the individual subtests has been, you should look at that file > (it should be easily human readable as well as machine parseable, > although its format is still experimental and likely to change in > future Automake versions). I don't want to read several files. Also, test-suite.log contains a new section which is not compliant with rst: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Vaucanson 2.0a: tests/test-suite.log > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > # TOTAL: 16 > # PASS: 14 > # SKIP: 0 > # XFAIL: 1 > # FAIL: 1 > # XPASS: 0 > # ERROR: 0 >=20 > .. contents:: :depth: 2 >=20 > XFAIL: rat/wrong-weight-set > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D which results in: --Apple-Mail=_52A65F4F-DA90-443E-A01D-407A2407F4A0 Content-Type: multipart/related; type="text/html"; boundary="Apple-Mail=_97432872-A314-4202-AEED-8289E82FB400" --Apple-Mail=_97432872-A314-4202-AEED-8289E82FB400 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=iso-8859-1
Hi = Akim.

Hi!

On 06/29/2012 09:17 AM, Akim Demaille = wrote:
It seems that in recent changes, the = test logs have lost
their = title, which included the exit status.  Now, = reading
a log, one can no = longer know how the test exited.

All of this is intended, because we now = report "metadata" about the
test run in the '*.trs' file rather than = in the '*.log' file.

This is not = metadata, this is the result of the test case.
When reading = the log of the test, I expect to get the result.
Of course I = could do it myself, but it means addition complexity
with = temporary files, trap etc. which I am very happy to avoid.
Was = there a _problem_ that needed to be solved by the removal
of = the result?


So,
to know whether a test run has been = successful, or which the results
of the individual subtests has been, = you should look at that file
(it should be easily human readable as = well as machine parseable,
although its format is still experimental = and likely to change in
future Automake = versions).

I don't want to = read several files.

Also, test-suite.log contains a = new section which
is not compliant with = rst:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
&nbs= p;  Vaucanson 2.0a: = tests/test-suite.log
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=

# TOTAL: 16
# PASS:  14
# SKIP:  0
# XFAIL: = 1
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: = :depth: 2

XFAIL: = rat/wrong-weight-set
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

which = results in:


= --Apple-Mail=_97432872-A314-4202-AEED-8289E82FB400 Content-Transfer-Encoding: base64 Content-Disposition: inline; filename*=windows-1252''Capture%20d%92%E9cran%202012%2D07%2D05%20%E0%2014.37.02.png Content-Type: image/png; name="=?windows-1252?Q?Capture_d=92=E9cran_2012-07-05_=E0_14=2E37=2E02?= =?windows-1252?Q?=2Epng?=" Content-Id: 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 oxWjE6Kbo1/HeMeUx0hjrWJXxl6K04gTxHXHY+Oj45vipxf6LNy5cDzBPqE44foi40V5iy4s1lic vvj4EsUlnCVHEtGJMYktie85oZwGzvTSgKW1S6e4bO4u7hOeB28Hb5Lvyi/nTyS5JpUnPUp2Td6e PJninlKR8lTAFlQLnqf6p9alvk4LTduf9ik9Jr09A5eRmHFUSBGmCfsytTPzMoezzLOKs6TLnJft XDYlChI1ZUPZi7K7xTTZz9SAxESyXjKa45ZTk/MmNzr3SJ5ynjBvYLnZ8k3LJ/J9879egVrBXdFb oFuwtmB0pefK+lXQqqWrelfrry5aPb7Gb82BtYS1aWt/KLQuLC98uS5mXU+RVtGaorH1futbixWK RcU3NrhsqNuI2ijYOLhp7qaqTR9LeCUXS61LK0rfb+ZuvviVzVeVX33akrRlsMyhbM9WzFbh1uvb 3LcdKFcuzy8f2x6yvXMHY0fJjpc7l+y8UGFXUbeLsEuyS1oZXNldZVC1tep9dUr1SI1XTXutZu2m 2te7ebuv7PHY01anVVda926vYO/Ner/6zgajhop9mH05+x42Rjf2f836urlJo6m06cN+4X7pgYgD fc2Ozc0tmi1lrXCrpHXyYMLBy994f9Pdxmyrb6e3lx4ChySHHn+b+O31w0GHe4+wjrR9Z/hdbQe1 o6QT6lzeOdWV0iXtjusePhp4tLfHpafje8vv9x/TPVZzXOV42QnCiaITn07mn5w+lXXq6enk02O9 S3rvnIk9c60vvG/wbNDZ8+d8z53p9+w/ed71/LELzheOXmRd7LrkcKlzwH6g4wf7HzoGHQY7hxyH ui87Xe4Znjd84or7ldNXva+euxZw7dLI/JHh61HXb95IuCG9ybv56Fb6ree3c27P3FlzF3235J7S vYr7mvcbfjT9sV3qID0+6j068GDBgztj3LEnP2X/9H686CH5YcWEzkTzI9tHxyZ9Jy8/Xvh4/EnW k5mnxT8r/1z7zOTZd794/DIwFTs1/lz0/NOvm1+ov9j/0u5l73TY9P1XGa9mXpe8UX9z4C3rbf+7 mHcTM7nvse8rP5h+6PkY9PHup4xPn34D94Tz++xtAWsAACAASURBVHic7J13WFTH18e/dysdBEE6 goAFReyKvRuwd01iLDGWWKMmtiT2lhhL7LFFo9HYe8WCWLF3ESlKkd7Zeu95/9hl2QWxJKb8Xufz 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 zC/d6A2+TE1zWAAAAABJRU5ErkJggg== --Apple-Mail=_97432872-A314-4202-AEED-8289E82FB400-- --Apple-Mail=_52A65F4F-DA90-443E-A01D-407A2407F4A0-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 05 11:47:35 2012 Received: (at 11814) by debbugs.gnu.org; 5 Jul 2012 15:47:35 +0000 Received: from localhost ([127.0.0.1]:50649 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SmoHH-0001Ha-B1 for submit@debbugs.gnu.org; Thu, 05 Jul 2012 11:47:35 -0400 Received: from mail-bk0-f44.google.com ([209.85.214.44]:35790) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SmoHD-0001H6-5A for 11814@debbugs.gnu.org; Thu, 05 Jul 2012 11:47:33 -0400 Received: by bkty7 with SMTP id y7so495658bkt.3 for <11814@debbugs.gnu.org>; Thu, 05 Jul 2012 08:42:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=E0Hwo6heJy/kLFu8czE/RyUacDofKv0iIPSiDLPEgCs=; b=UxY99IPeaQ2NExhbA3zdUVuVJFwhVtVYzTgrLXV/OIWuLdC8BzLhN2r2JyoOhJBHTp a6DQUOo+964NxRs988IOI/AftszcaAiXBxQyrj0xKnYVDBcxw6uPqdHZibYbIql2EmUV 4b6siy39gCSv+/bctELjf4jUYm0u5Zfil6ceFA5c6AFJpDVRjpuD4pNvUwX7TdjUykBF pkIQa0vfVPv6Ty1+gaXYx/CIMS/EaaR4pQTcP1Pj/jDadkUPrJu9dg+yt2S5sZcX//4q BHtN+Bu0fgb1y4MnXugxmE60mhjwAN+FEA8O+SNWo7Sb1yy2D+XNP5DWPwY7I43Wg4UT Ba4A== Received: by 10.204.155.66 with SMTP id r2mr11286471bkw.131.1341502937840; Thu, 05 Jul 2012 08:42:17 -0700 (PDT) Received: from [87.8.100.250] (host250-100-dynamic.8-87-r.retail.telecomitalia.it. [87.8.100.250]) by mx.google.com with ESMTPS id e20sm20835394bkv.10.2012.07.05.08.42.15 (version=SSLv3 cipher=OTHER); Thu, 05 Jul 2012 08:42:16 -0700 (PDT) Message-ID: <4FF5B5D6.6010204@gmail.com> Date: Thu, 05 Jul 2012 17:42:14 +0200 From: Stefano Lattarini MIME-Version: 1.0 To: Akim Demaille , 11814@debbugs.gnu.org Subject: Re: bug#11814: The test logs lost their title References: <4FEDDF55.4060101@gmail.com> <4D448CD7-1F2F-4769-9E3C-3F54AE54F462@lrde.epita.fr> <4FF5B02A.7070104@gmail.com> <4B2701B5-F882-44A3-9826-F1AB184F49D4@lrde.epita.fr> In-Reply-To: <4B2701B5-F882-44A3-9826-F1AB184F49D4@lrde.epita.fr> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 11814 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) > Le 29 juin 2012 à 19:01, Stefano Lattarini a écrit : > >> Hi Akim. > > Hi! > >> On 06/29/2012 09:17 AM, Akim Demaille wrote: >>> It seems that in recent changes, the test logs have lost >>> their title, which included the exit status. Now, reading >>> a log, one can no longer know how the test exited. >>> >> All of this is intended, because we now report "metadata" about the >> test run in the '*.trs' file rather than in the '*.log' file. > > This is not metadata, this is the result of the test case. > When reading the log of the test, I expect to get the result. > Of course I could do it myself, but it means addition complexity > with temporary files, trap etc. which I am very happy to avoid. > Was there a _problem_ that needed to be solved by the removal > of the result? > The problem was that displaying the exit code at the beginning of the log required one more 'cat' invocation and one more 'mv' invocation per test. So, in the heavy refactoring taking place during the introduction of support for TAP and for user-defined test drivers, I zapped that feature for the sake of performances, aware of the fact that the exit status was still available in the new corresponding '.trs' file. But I see your point about the convenience of having it repeated in the log file too. So I will add a new option for the default driver, as well as for the TAP driver, that will cause them to print a summary of the test output at the end of the '.log' file. > >> So, >> to know whether a test run has been successful, or which the results >> of the individual subtests has been, you should look at that file >> (it should be easily human readable as well as machine parseable, >> although its format is still experimental and likely to change in >> future Automake versions). > > I don't want to read several files. > > Also, test-suite.log contains a new section which > is not compliant with rst: > >> ========================================== >> Vaucanson 2.0a: tests/test-suite.log >> ========================================== >> >> # TOTAL: 16 >> # PASS: 14 >> # SKIP: 0 >> # XFAIL: 1 >> # FAIL: 1 >> # XPASS: 0 >> # ERROR: 0 >> >> .. contents:: :depth: 2 >> >> XFAIL: rat/wrong-weight-set >> =========================== > > which results in: > > [SNIP IMAGE] > I don't know reStructuredText well enough to fix this without too much effort. But of course, I'll gladly accept a patch (better if with a test case, unless that would be too tricky or too hard to write). Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 24 16:05:31 2013 Received: (at 11814) by debbugs.gnu.org; 24 Dec 2013 21:05:31 +0000 Received: from localhost ([127.0.0.1]:39726 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VvZAQ-0005TA-9o for submit@debbugs.gnu.org; Tue, 24 Dec 2013 16:05:31 -0500 Received: from mail-ea0-f178.google.com ([209.85.215.178]:35995) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VvZAL-0005Su-TW; Tue, 24 Dec 2013 16:05:28 -0500 Received: by mail-ea0-f178.google.com with SMTP id d10so3028267eaj.37 for ; Tue, 24 Dec 2013 13:05:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:cc:subject:content-type; bh=Hc1rVy9fe9dFPrenmtgEO7FHe8qgHrXyqLOrWfi0x58=; b=UnCu8jbqahaTwyIW9dmRhSHi4JtwcZNiYgZCWRKHbaMC3MXAnVYAgBNxNFZ7JGmdAY 8yDgDBvjYLKJjhZVAxRGLCEPkyCNx99wBrqz8CgegQRS5SBMP7aXyRHlgq0yOM7ILCQM neFiHZHDhG188FP7LcafyZOPzUFW30F1ZfEywCuhYBN39hAXr5hWUZnVN8LVIdUQKL3a xmWIFdX3iy9bO57mC3fLB70NAW2MXxSXYjXOKx5TctymKTYAjcc0/wX6QhgI5tSi8/wi M0LFkB4MiHGwLgfyJGyHyFqDPT6ghN7jmr4V+K4JRAY1bCJzlMXLF04Ovbkyt9cAU19K NJJw== X-Received: by 10.14.119.1 with SMTP id m1mr28800301eeh.39.1387919124996; Tue, 24 Dec 2013 13:05:24 -0800 (PST) Received: from [192.168.0.101] (host143-4-dynamic.5-87-r.retail.telecomitalia.it. [87.5.4.143]) by mx.google.com with ESMTPSA id h3sm58149800eem.15.2013.12.24.13.05.22 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 24 Dec 2013 13:05:23 -0800 (PST) Message-ID: <52B9F706.3080900@gmail.com> Date: Tue, 24 Dec 2013 22:05:10 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: 11814@debbugs.gnu.org Subject: Re: The test logs lost their title Content-Type: multipart/mixed; boundary="------------080402080800000904060209" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 11814 +patch close 11814 stop Reference: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11814 Rather than adding yet another option, I've decided to simply enhance the test-driver script to *append* the result and exit status of any test it runs after the logged output of that test. This is implemented by the attached patch. The change will appear in Automake 1.15 (since I'm not sure it's 100% safe for a micro release), [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefano.lattarini[at]gmail.com) -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.215.178 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 1.8 URIBL_BLACK Contains an URL listed in the URIBL blacklist [URIs: configure.ac] 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid X-Debbugs-Envelope-To: 11814 Cc: Akim Demaille , "automake-patches@gnu.org" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.1 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 11814 +patch close 11814 stop Reference: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11814 Rather than adding yet another option, I've decided to simply enhance the test-driver script to *append* the result and exit status of any test it runs after the logged output of that test. This is implemented by the attached patch. The change will appear in Automake 1.15 (since I'm not sure it's 100% safe for a micro release), [...] Content analysis details: (1.1 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.215.178 listed in list.dnswl.org] 1.8 URIBL_BLACK Contains an URL listed in the URIBL blacklist [URIs: configure.ac] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefano.lattarini[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid This is a multi-part message in MIME format. --------------080402080800000904060209 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit tags 11814 +patch close 11814 stop Reference: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11814 Rather than adding yet another option, I've decided to simply enhance the test-driver script to *append* the result and exit status of any test it runs after the logged output of that test. This is implemented by the attached patch. The change will appear in Automake 1.15 (since I'm not sure it's 100% safe for a micro release), Thanks, and sorry for the shameful delay, Stefano --------------080402080800000904060209 Content-Type: text/x-patch; name="0001-testsuite-harness-report-test-exit-status-in-log-fil.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-testsuite-harness-report-test-exit-status-in-log-fil.pa"; filename*1="tch" >From 329cbe0ab70f1e7ee3d2f7ae00b5997d7e0bcb55 Mon Sep 17 00:00:00 2001 Message-Id: <329cbe0ab70f1e7ee3d2f7ae00b5997d7e0bcb55.1387918496.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Tue, 24 Dec 2013 17:45:18 +0100 Subject: [PATCH] testsuite harness: report test exit status in log file The exit status of a test should be reported in the test logs, so that one can see at a glance whether the test has succeeded or failed, without having to look also into the corresponding .trs file. This fixes automake bug#11814. * lib/test-driver: Also report the test script exit status in the test log (as the last line). * t/check-exit-status-reported.sh: Test this new behaviour. * t/list-of-tests.mk: Add the new test. * t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status; this has been made redundant by the change to 'test-driver'. While at it, fix an imperfect quoting. Signed-off-by: Stefano Lattarini --- lib/test-driver | 13 +++++- t/ax/test-lib.sh | 3 +- t/list-of-tests.mk | 1 + t/parallel-tests-exit-status-reported.sh | 68 ++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 t/parallel-tests-exit-status-reported.sh diff --git a/lib/test-driver b/lib/test-driver index d306056..110eec4 100755 --- a/lib/test-driver +++ b/lib/test-driver @@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15 # Test script is run here. "$@" >$log_file 2>&1 estatus=$? + if test $enable_hard_errors = no && test $estatus -eq 99; then - estatus=1 + tweaked_estatus=1 +else + tweaked_estatus=$estatus fi -case $estatus:$expect_failure in +case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; @@ -119,6 +122,12 @@ case $estatus:$expect_failure in *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file + # Report outcome to console. echo "${col}${res}${std}: $test_name" diff --git a/t/ax/test-lib.sh b/t/ax/test-lib.sh index aa015d6..b8c7253 100644 --- a/t/ax/test-lib.sh +++ b/t/ax/test-lib.sh @@ -254,7 +254,7 @@ am_exit_trap () # behaviour, while from time to time useful to developers, is not # meant to be enabled by default, as it could cause spurious failures # in the wild. Thus it will be enabled only when the variable - # "am_explicit_skips" is set to a "true" value. + # 'am_explicit_skips' is set to a "true" value. case $am_explicit_skips in [yY]|[yY]es|1) if test $exit_status -eq 77 && test $am__test_skipped != yes; then @@ -266,7 +266,6 @@ am_exit_trap () fi am_keeping_testdirs || rm_rf_ $am_test_subdir set +x - echo "$me: exit $exit_status" # Spurious escaping to ensure we do not call our "exit" alias. \exit $exit_status } diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 462497e..ba65789 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -765,6 +765,7 @@ t/parallel-tests-basics.sh \ t/parallel-tests-concurrency.sh \ t/parallel-tests-concurrency-2.sh \ t/parallel-tests-empty.sh \ +t/parallel-tests-exit-status-reported.sh \ t/parallel-tests-generated-and-distributed.sh \ t/parallel-tests-recheck.sh \ t/parallel-tests-trailing-whitespace.sh \ diff --git a/t/parallel-tests-exit-status-reported.sh b/t/parallel-tests-exit-status-reported.sh new file mode 100644 index 0000000..d40f1f5 --- /dev/null +++ b/t/parallel-tests-exit-status-reported.sh @@ -0,0 +1,68 @@ +#! /bin/sh +# Copyright (C) 2013 Free Software Foundation, Inc. +# +# This program 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 2, or (at your option) +# any later version. +# +# This program 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 this program. If not, see . + +# The exit status of a test should be reported in the test logs, so +# that one can see at a glance whether the test has succeeded or failed, +# without having to look also into the corresponding .trs file. +# See automake bug#11814. + +. test-init.sh + +echo AC_OUTPUT >> configure.ac + +echo XFAIL_TESTS = t3.test t00.test > Makefile.am +echo TESTS = t00.test >> Makefile.am +for s in 0 1 2 3 5 77 78 99 100 126 127; do + echo "TESTS += t${s}.test" >> Makefile.am + cat > t${s}.test <) id 1VvZBu-0005WZ-SB for submit@debbugs.gnu.org; Tue, 24 Dec 2013 16:07:03 -0500 Received: from mail-ee0-f53.google.com ([74.125.83.53]:63164) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VvZBt-0005WA-FM for control@debbugs.gnu.org; Tue, 24 Dec 2013 16:07:01 -0500 Received: by mail-ee0-f53.google.com with SMTP id b57so3080076eek.12 for ; Tue, 24 Dec 2013 13:07:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:mime-version:to:subject:content-type :content-transfer-encoding; bh=e3gh2lBpzoyiiSvRx/UZPlLDXS8ufE52JPOV62BXR1Y=; b=BJKsSWYoukppAMKkpZ8RJtYbs9hAJZj8C0XD/t6Gp48+9Q6Is/i/8LnxI0Mnr/kP7w QHgjrJigNQ5ViVAICdsypoR06HdrOZrf044JwnUUCHXI7H3/d1l7HJxbfwIu9wolLHSP FIOERMBmvriXNWD7UIsefJ1oblnVc2xHn4PoqwZ2dfGG2tIB+fOgsmZKEweKXFz7X1FO bVmI45GPqdvzHFEpcPQxbM+ejA+NTxgVr7KXz/sS+UZ+Qz5BxgdmxybCyUYPQqf574mG YB/ZO/+QyMICFhxqQdeKa6NVot+S8xS5Zhg+NoGwr4wL8OnzFJu03H752/F9mmIRKxEE G/mA== X-Received: by 10.14.173.7 with SMTP id u7mr29498127eel.24.1387919220791; Tue, 24 Dec 2013 13:07:00 -0800 (PST) Received: from [192.168.0.101] (host143-4-dynamic.5-87-r.retail.telecomitalia.it. [87.5.4.143]) by mx.google.com with ESMTPSA id a51sm58186675eeh.8.2013.12.24.13.06.59 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 24 Dec 2013 13:06:59 -0800 (PST) Message-ID: <52B9F772.80204@gmail.com> Date: Tue, 24 Dec 2013 22:06:58 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: GNU bug tracker automated control server Subject: x Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) tags 11814 + patch stop From unknown Fri Aug 15 16:17:34 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 22 Jan 2014 12:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator