From unknown Sun Aug 17 10:10:53 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#40721 <40721@debbugs.gnu.org> To: bug#40721 <40721@debbugs.gnu.org> Subject: Status: [PATCH 1/4] test: augment testing of (ice-9 getopt-long) module Reply-To: bug#40721 <40721@debbugs.gnu.org> Date: Sun, 17 Aug 2025 17:10:53 +0000 retitle 40721 [PATCH 1/4] test: augment testing of (ice-9 getopt-long) modu= le reassign 40721 guile submitter 40721 Dale Mellor severity 40721 normal tag 40721 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 19 15:01:13 2020 Received: (at submit) by debbugs.gnu.org; 19 Apr 2020 19:01:13 +0000 Received: from localhost ([127.0.0.1]:45968 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jQFBo-0005xJ-7J for submit@debbugs.gnu.org; Sun, 19 Apr 2020 15:01:12 -0400 Received: from lists.gnu.org ([209.51.188.17]:47082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jQEVb-0004oh-Mk for submit@debbugs.gnu.org; Sun, 19 Apr 2020 14:17:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34068 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQEVa-0005rK-MK for bug-guile@gnu.org; Sun, 19 Apr 2020 14:17:35 -0400 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.2 required=5.0 tests=RDNS_DYNAMIC, SPF_HELO_SOFTFAIL, SPF_SOFTFAIL,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQEVa-0006XG-3i for bug-guile@gnu.org; Sun, 19 Apr 2020 14:17:34 -0400 Received: from ec2-52-19-174-175.eu-west-1.compute.amazonaws.com ([52.19.174.175]:45788 helo=rdmp.org) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jQEVW-0006S6-8B for bug-guile@gnu.org; Sun, 19 Apr 2020 14:17:33 -0400 Received: from [127.0.0.1] (helo=localhost) by rdmp.org with esmtp (Exim 4.92) (envelope-from ) id 1jQE2U-0002XZ-DG for bug-guile@gnu.org; Sun, 19 Apr 2020 17:47:30 +0000 Message-ID: <8efb525b750d216d894f7223972472332a71499c.camel@rdmp.org> Subject: [PATCH 1/4] test: augment testing of (ice-9 getopt-long) module From: Dale Mellor To: bug-guile@gnu.org Date: Sun, 19 Apr 2020 18:47:30 +0100 Organization: DM Bespoke Computer Solutions Ltd Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5-1.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: softfail client-ip=52.19.174.175; envelope-from=guile-qf1qmg@rdmp.org; helo=rdmp.org X-detected-operating-system: by eggs1p.gnu.org: Genre and OS details not recognized. X-Received-From: 52.19.174.175 X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 19 Apr 2020 15:01:09 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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 (/) >From b08d1cc7dc03d5e69dfd1f93e50617b81230b5e3 Mon Sep 17 00:00:00 2001 From: Dale Mellor Date: Sun, 19 Apr 2020 18:00:04 +0100 Subject: [PATCH 1/4] test: augment testing of (ice-9 getopt-long) module Adding some 28 new tests which explore some undefined (or at least implied) behaviour of the module. These are all non-controversial, and the existing module passes all of the tests. * test-suite/tests/getopt-long.test: new code added, some slight re-arrangement of existing code but nothing which changes the original set of tests. --- test-suite/tests/getopt-long.test | 214 ++++++++++++++++++++++++++---- 1 file changed, 188 insertions(+), 26 deletions(-) diff --git a/test-suite/tests/getopt-long.test b/test-suite/tests/getopt-long.test index 4ae604883..a837b0799 100644 --- a/test-suite/tests/getopt-long.test +++ b/test-suite/tests/getopt-long.test @@ -1,7 +1,6 @@ ;;;; getopt-long.test --- long options processing -*- scheme -*- -;;;; Thien-Thi Nguyen --- August 2001 ;;;; -;;;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc. +;;;; Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -17,6 +16,10 @@ ;;;; License along with this library; if not, write to the Free Software ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +;;; Author: Thien-Thi Nguyen --- August 2001 +;;; Dale Mellor <> --- April 2020 + + (use-modules (test-suite lib) (ice-9 getopt-long) (ice-9 regex)) @@ -49,6 +52,31 @@ (deferr option-must-be-specified "option must be specified") (deferr option-must-have-arg "option must be specified with argument") + + +(define (symbol/>string a) + (if (symbol? a) (symbol->string a) "")) + +(define (output-sort out) + (sort out (lambda (a b) (stringstring (car a)) + (symbol/>string (car b)))))) + +(define* (A-TEST args option-specs expectation + #:key stop-at-first-non-option) + (let ((answer + (output-sort + (getopt-long + (cons "foo" (string-split args #\space)) + option-specs + #:stop-at-first-non-option stop-at-first-non-option)))) + (cond ((equal? answer (output-sort expectation)) #t) + (else (format (current-output-port) + "Test result was \n‘~s’ --VS-- \n‘~s’.\n" + answer (output-sort expectation)) + #f)))) + + + (with-test-prefix "exported procs" (pass-if "`option-ref' defined" (defined? 'option-ref)) (pass-if "`getopt-long' defined" (defined? 'getopt-long))) @@ -92,33 +120,39 @@ (with-test-prefix "value optional" - (define (test3 . args) - (getopt-long args '((foo (value optional) (single-char #\f)) - (bar)))) + (define (test args expect) + (A-TEST args + '((foo (value optional) (single-char #\f)) + (bar)) + expect)) + + (pass-if "long option ‘foo’ w/ arg, long option ‘bar’" + (test "--foo fooval --bar" + '((()) (bar . #t) (foo . "fooval")))) - (pass-if "long option `foo' w/ arg, long option `bar'" - (equal? (test3 "prg" "--foo" "fooval" "--bar") - '((()) (bar . #t) (foo . "fooval")))) + (pass-if "short option ‘foo’ w/ arg, long option ‘bar’" + (test "-f fooval --bar" + '((()) (bar . #t) (foo . "fooval")))) - (pass-if "short option `foo' w/ arg, long option `bar'" - (equal? (test3 "prg" "-f" "fooval" "--bar") - '((()) (bar . #t) (foo . "fooval")))) + (pass-if "short option ‘foo’, long option ‘bar’, no args" + (test "-f --bar" + '((()) (bar . #t) (foo . #t)))) - (pass-if "short option `foo', long option `bar', no args" - (equal? (test3 "prg" "-f" "--bar") - '((()) (bar . #t) (foo . #t)))) + (pass-if "long option ‘foo’, long option ‘bar’, no args" + (test "--foo --bar" + '((()) (bar . #t) (foo . #t)))) - (pass-if "long option `foo', long option `bar', no args" - (equal? (test3 "prg" "--foo" "--bar") - '((()) (bar . #t) (foo . #t)))) + (pass-if "long option ‘bar’, short option ‘foo’, no args" + (test "--bar -f" + '((()) (foo . #t) (bar . #t)))) - (pass-if "long option `bar', short option `foo', no args" - (equal? (test3 "prg" "--bar" "-f") - '((()) (foo . #t) (bar . #t)))) + (pass-if "long option ‘bar’, long option ‘foo’, no args" + (test "--bar --foo" + '((()) (foo . #t) (bar . #t)))) - (pass-if "long option `bar', long option `foo', no args" - (equal? (test3 "prg" "--bar" "--foo") - '((()) (foo . #t) (bar . #t)))) + (pass-if "--=" + (test "--=" + '((() "--=")))) ) @@ -227,11 +261,12 @@ (with-test-prefix "apples-blimps-catalexis example" - (define (test8 . args) - (equal? (sort (getopt-long (cons "foo" args) - '((apples (single-char #\a)) + (define spec '((apples (single-char #\a)) (blimps (single-char #\b) (value #t)) (catalexis (single-char #\c) (value #t)))) + + (define (test8 . args) + (equal? (sort (getopt-long (cons "foo" args) spec) (lambda (a b) (cond ((null? (car a)) #t) ((null? (car b)) #f) @@ -299,4 +334,131 @@ ) + +(with-test-prefix "stop at end-of-options marker" + + (define* (test args expectation #:key stop-at-first-non-option) + (A-TEST args + '((abby) (ben) (charles)) + expectation + #:stop-at-first-non-option stop-at-first-non-option)) + + (pass-if "stop at start" (test "-- --abby" '((() "--abby")))) + + (pass-if "stop in middle" (test "--abby dave -- --ben" + '((() "dave" "--ben") (abby . #t)))) + + (pass-if "stop at end" (test "--abby dave --ben --" + '((() "dave") (abby . #t) (ben . #t)))) + + (pass-if "marker before first non-option" + (test "--abby -- --ben dave --charles" + '((() "--ben" "dave" "--charles") (abby . #t)) + #:stop-at-first-non-option #t)) + + (pass-if "double end marker" + (test "--abby -- -- --ben" + '((() "--" "--ben") (abby . #t)))) + + (pass-if "separated double end markers" + (test "--abby dave -- --ben -- --charles" + '((() "dave" "--ben" "--" "--charles") + (abby . #t)))) + ) + + +(with-test-prefix "negative numbers for option values" + + (define (test args expectation) + (A-TEST args + `((arthur (single-char #\a) (value optional) + (predicate ,string->number)) + (beth (single-char #\b) (value #t) + (predicate ,string->number)) + (charles (single-char #\c) (value optional)) + (dave (single-char #\d) (value #t))) + expectation)) + + (pass-if "predicated --optional=-1" + (test "--arthur=-1" '((()) (arthur . "-1")))) + + (pass-if "predicated -o-1" + (test "-a-1" '((()) (arthur . "-1")))) + + (pass-if "predicated --optional -1" + (test "--arthur -1" '((()) (arthur . "-1")))) + + (pass-if "predicated -o -1" + (test "-a -1" '((()) (arthur . "-1")))) + + (pass-if "predicated --mandatory=-1" + (test "--beth=-1" '((()) (beth . "-1")))) + + (pass-if "predicated -m-1" + (test "-b-1" '((()) (beth . "-1")))) + + (pass-if "predicated --mandatory -1" + (test "--beth -1" '((()) (beth . "-1")))) + + (pass-if "predicated -m -1" + (test "-b -1" '((()) (beth . "-1")))) + + (pass-if "non-predicated --optional=-1" + (test "--charles=-1" '((()) (charles . "-1")))) + + (pass-if "non-predicated -o-1" + (test "-c-1" '((()) (charles . "-1")))) + + (pass-if "non-predicated --mandatory=-1" + (test "--dave=-1" '((()) (dave . "-1")))) + + (pass-if "non-predicated -m-1" + (test "-d-1" '((()) (dave . "-1")))) + + (pass-if "non-predicated --mandatory -1" + (test "--dave -1" '((()) (dave . "-1")))) + + (pass-if "non-predicated -m -1" + (test "-d -1" '((()) (dave . "-1")))) + + ) + + +(with-test-prefix "mcron backwards compatibility" + + (define (test args expectation) + (A-TEST args + `((daemon (single-char #\d) (value #f)) + (stdin (single-char #\i) (value #t) + (predicate ,(λ (in) (or (string=? in "guile") + (string=? in "vixie"))))) + (schedule (single-char #\s) (value optional) + (predicate ,(λ (in) (or (eq? in #t) + (and (string? in) + (string->number in)))))) + (help (single-char #\?)) + (version (single-char #\V))) + expectation)) + + (pass-if "-s8" (test "-s8 file" '((() "file") (schedule . "8")))) + + (pass-if "-s 8" (test "-s 8 file" '((() "file") (schedule . "8")))) + + (pass-if "-sd file" + (test "-sd file" '((() "file") (daemon . #t) (schedule . #t)))) + + (pass-if "--schedule=8" (test "--schedule=8 file" + '((() "file") (schedule . "8")))) + + (pass-if "--schedule 8" (test "--schedule 8 file" + '((() "file") (schedule . "8")))) + + (pass-if "-ds8" (test "-ds8 file" + '((() "file") (daemon . #t) (schedule . "8")))) + + (pass-if "-ds 8" (test "-ds 8 file" + '((() "file") (daemon . #t) (schedule . "8")))) + + ) + ;;; getopt-long.test ends here -- 2.20.1 From debbugs-submit-bounces@debbugs.gnu.org Tue May 12 09:05:13 2020 Received: (at control) by debbugs.gnu.org; 12 May 2020 13:05:13 +0000 Received: from localhost ([127.0.0.1]:54558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUav-0007Qb-0l for submit@debbugs.gnu.org; Tue, 12 May 2020 09:05:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41934) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUap-0007PZ-R7 for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:11 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40219) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYUak-0007Ub-LZ for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:02 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41866 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jYUah-0001eh-Tf for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:00 -0400 Date: Tue, 12 May 2020 15:04:58 +0200 Message-Id: <87d079b8xx.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #40719 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) merge 40719 40721 quit From debbugs-submit-bounces@debbugs.gnu.org Tue May 12 09:05:16 2020 Received: (at control) by debbugs.gnu.org; 12 May 2020 13:05:16 +0000 Received: from localhost ([127.0.0.1]:54561 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUay-0007Qq-Ah for submit@debbugs.gnu.org; Tue, 12 May 2020 09:05:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41962) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUaw-0007QM-7U for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40224) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYUar-0007Vc-0j for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:09 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41868 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jYUao-0001gX-Pw for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:07 -0400 Date: Tue, 12 May 2020 15:05:05 +0200 Message-Id: <87blmtb8xq.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #40719 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) merge 40719 40722 quit From debbugs-submit-bounces@debbugs.gnu.org Tue May 12 09:05:23 2020 Received: (at control) by debbugs.gnu.org; 12 May 2020 13:05:23 +0000 Received: from localhost ([127.0.0.1]:54564 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUb5-0007RC-HM for submit@debbugs.gnu.org; Tue, 12 May 2020 09:05:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41986) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUb4-0007Qy-73 for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40227) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYUay-0007Zn-WB for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:17 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41870 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jYUay-0001hx-AT for control@debbugs.gnu.org; Tue, 12 May 2020 09:05:16 -0400 Date: Tue, 12 May 2020 15:05:15 +0200 Message-Id: <87a72db8xg.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #40719 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: -3.3 (---) merge 40719 40723 quit From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 02 06:43:27 2020 Received: (at control) by debbugs.gnu.org; 2 Aug 2020 10:43:27 +0000 Received: from localhost ([127.0.0.1]:41779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k2BSh-0001Uz-1E for submit@debbugs.gnu.org; Sun, 02 Aug 2020 06:43:27 -0400 Received: from rdmp.org ([52.19.174.175]:36166) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k2BSf-0001Un-QO for control@debbugs.gnu.org; Sun, 02 Aug 2020 06:43:26 -0400 Received: from [127.0.0.1] (helo=localhost) by rdmp.org with esmtp (Exim 4.92) (envelope-from ) id 1k2BSa-0005us-4z for control@debbugs.gnu.org; Sun, 02 Aug 2020 10:43:20 +0000 Message-ID: <0ca636036e23abf21b9725753051f9cf88ac5f30.camel@rdmp.org> Subject: From: Dale Mellor To: control Date: Sun, 02 Aug 2020 11:43:19 +0100 Organization: DM Bespoke Computer Solutions Ltd Content-Type: text/plain User-Agent: Evolution 3.30.5-1.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 4.9 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: close 40719 Content analysis details: (4.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.9 SPF_HELO_SOFTFAIL SPF: HELO does not match SPF record (softfail) 2.0 BLANK_SUBJECT Subject is present but empty 0.0 TVD_SPACE_RATIO No description available. 1.0 PDS_TONAME_EQ_TOLOCAL_VSHORT Very short body and From looks like 2 different emails X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 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: 3.9 (+++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: close 40719 Content analysis details: (3.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.9 SPF_HELO_SOFTFAIL SPF: HELO does not match SPF record (softfail) -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager 2.0 BLANK_SUBJECT Subject is present but empty 0.0 TVD_SPACE_RATIO No description available. 1.0 PDS_TONAME_EQ_TOLOCAL_VSHORT Very short body and From looks like 2 different emails close 40719 From unknown Sun Aug 17 10:10:53 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 30 Aug 2020 11:24:05 +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