-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLog
4971 lines (3441 loc) · 160 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2022-12-20 Jacob Bachmeyer <[email protected]>
* dejagnu.h (totals, TestState::totals): Change "real failed" to
"failed" when listing number of failed tests.
* testsuite/libdejagnu/harness.exp (test_libdejagnu_unit): Update
to match above change.
* dejagnu.h (DG_error, DG_warning): New functions.
(TestState::error, TestState::warning): New methods.
* doc/dejagnu.texi (C unit testing API): Document new functions.
(C++ unit testing API): Document new methods and fix an error:
TestState::unsupported does not take varargs.
* testsuite/libdejagnu/unit-c.c (main): Add support for testing
errors and warnings.
* testsuite/libdejagnu/unit-cxx.cxx (main): Likewise.
* testsuite/libdejagnu/unit-ccxxmix.cxx (main): Likewise.
* testsuite/libdejagnu/harness.exp: Add tests.
(test_libdejagnu_unit): Add support for ERROR and WARNING tokens.
* doc/dejagnu.texi (DejaGnu unit test protocol): Add ERROR and
WARNING tokens to DejaGnu unit testing protocol.
* lib/dejagnu.exp (host_execute): Implement same.
* testsuite/runtest.main/nested/testsuite/stat.test/unit-sub.exp,
testsuite/runtest.main/nested/testsuite/stat.test/unit-sub.awk:
Add support for testing ERROR and WARNING tokens.
* testsuite/runtest.main/stats.exp: Add tests for UNRESOLVED
results after warnings and errors in unit test programs.
* testsuite/runtest.main/stats.exp: Add tests for UNRESOLVED
results after warnings and errors.
* testsuite/runtest.main/nested/testsuite/stat.test/stats-sub.exp:
Add support for above.
2022-11-30 Jacob Bachmeyer <[email protected]>
* testsuite/libdejagnu/unit.exp: Rename this...
* testsuite/libdejagnu/harness.exp: ...to this.
* doc/dejagnu.texi (C++ unit testing API): Document recent
improvements and the rest of the C++ API.
* dejagnu.h (TestState::TestState): Only perform initialization
when the first TestState object is constructed.
(DG): Add global TestState object.
* dejagnu.h (DG__endmsg): New function, called using atexit().
(endmsg_registered, TestState_count): Add fields to DG__status.
(DG__init): New function, to register DG__endmsg.
(pass, xpass, fail, xfail, untested, unresolved, unsupported)
(note): Call DG__init to ensure libdejagnu initialization.
(totals): Move "END" message to DG__endmsg.
(TestState::TestState): Consider DG__endmsg registered when a
TestState object is constructed.
(TestState::TestState, TestState::~TestState): Track number of
live TestState objects in global status structure.
(TestState::~TestState): Call totals() and emit "END" message only
when the last TestState object is destroyed.
* dejagnu.h (outstate): Remove.
(TestState::pass, TestState::xpass, TestState::fail)
(TestState::xfail, TestState::untested, TestState::unresolved)
(TestState::unsupported, TestState::note): Remove support for
overriding protocol tag lines.
(outstate_list): Rename this...
(DG__outstate_list): ...to this to mark it as internal.
(teststate): Rename this...
(DG_teststate): ...to this to avoid name collisions with user code.
(TestState::TestState): Sort lines by length.
* dejagnu.h (buffer): Remove this variable.
(pass, xpass, fail, xfail, untested, unresolved, unsupported)
(note): Replace use of buffer and vsnprintf with flockfile,
multiple writes, and funlockfile in all functions.
* dejagnu.h (DG__status): New struct for test counters.
(passed, failed, xpassed, xfailed, untest, unresolve, unsupport):
Move all counters into new struct, changing all functions.
* doc/dejagnu.texi (C unit testing API): Document use of "DG_"
prefix in dejagnu.h and "DG__" for internal symbols.
(C++ unit testing API): Likewise. Also declare namespace
"DejaGnu" reserved for future expansion.
2022-11-29 Jacob Bachmeyer <[email protected]>
* Makefile.in: Regenerate.
* Makefile.am (check_PROGRAMS): Add testsuite/libdejagnu/unit-ccxxmix.
(testsuite_libdejagnu_unit_ccxxmix_SOURCES): Add.
* testsuite/libdejagnu/unit.exp: Add tests for C/C++ mixed usage.
* testsuite/libdejagnu/unit-ccxxmix.cxx: New file.
* testsuite/libdejagnu/unit.exp: Add note that tests for the
framework side of the unit testing protocol are located in
testsuite/runtest.main/stats.exp and its nested testsuite.
* Makefile.in: Regenerate.
* Makefile.am (check_PROGRAMS): Remove unit.
(unit_SOURCES): Remove.
* testsuite/libdejagnu/tunit.exp: Remove file.
* testsuite/libdejagnu/unit.cc: Remove file.
The limited coverage of this test is now included in unit.exp
and unit-cxx, and supporting this test required some leaky
abstractions in dejagnu.h that can now be cleaned up.
* Makefile.in: Regenerate.
* Makefile.am (check_PROGRAMS): Add testsuite/libdejagnu/unit-cxx.
(testsuite_libdejagnu_unit_cxx_SOURCES): Add.
* testsuite/libdejagnu/unit.exp: Add tests for C++ unit test API.
* testsuite/libdejagnu/unit-cxx.cxx: New file.
* dejagnu.h (TestState::totals): Emit header line, like the C version.
* dejagnu.h (TestState::note): New method, like C note().
* doc/dejagnu.texi (C++ unit testing API): Add note() method.
* doc/dejagnu.texi (C++ unit testing API): Fix incorrect
documentation. The C and C++ interfaces share the same global
counters, as do all C++ TestState objects.
2022-11-28 Jacob Bachmeyer <[email protected]>
* dejagnu.h: Remove _DEJAGNU_WAIT_ conditional and revise comment
to explain improved solution to the problem for which it seems to
have been intended as a workaround.
(wait): Remove this function. It conflicted with POSIX wait(2);
this conflict was reported as PR59586.
* testsuite/runtest.main/stats.exp: Add test for UNSUPPORTED
result from a unit test program.
* testsuite/runtest.main/nested/testsuite/stat.test/unit-sub.awk:
Update to account for addition of END marker and UNSUPPORTED to
DejaGnu unit testing protocol.
* dejagnu.h: Add UNSUPPORTED test result.
(unsupport): New counter variable for UNSUPPORTED results.
(unsupported): New function in C API.
(TestState::unsupported): New function in C++ API.
(outstate_list): Add UNSUPPORTED entry.
(teststate::laststate): Likewise.
(totals): Mention number of unsupported tests.
(TestState::totals): Likewise for C++ API.
* lib/dejagnu.exp (host_execute): Add UNSUPPORTED test result.
* doc/dejagnu.texi (DejaGnu unit test protocol): Document same.
(C unit testing API): Document new function for same.
(C++ unit testing API): Document new function for same.
* testsuite/libdejagnu/unit-c.c: Add test for UNSUPPORTED.
* testsuite/libdejagnu/unit.exp: Likewise.
* testsuite/libdejagnu/unit.exp: Add test for NOTE message.
2022-11-26 Jacob Bachmeyer <[email protected]>
* Makefile.in: Regenerate.
* Makefile.am (AM_CXXFLAGS): Change this...
(AM_CPPFLAGS): ...to this. (Also remove -g flag.)
(check_PROGRAMS): Add testsuite/libdejagnu/unit-c.
(testsuite_libdejagnu_unit_c_SOURCES): Add.
(TESTSUITE_FILES): Update.
* testsuite/libdejagnu/unit-c.c: New file.
* testsuite/libdejagnu/unit.exp: New file.
* dejagnu.h (xpass): Fix use of wrong counter.
(xfail): Likewise.
(totals): Report unexpected passes if any occurred.
* doc/dejagnu.texi (DejaGnu unit test protocol): Add end marker
line using "END" to allow detecting tests that exit prematurely.
The "Totals:" line was previously used for this purpose, but it
does not match the pattern documented as reserved for carrying
unit test results and information.
* lib/dejagnu.exp (host_execute): Remove test for "Totals" line.
(host_execute): Add corresponding support for the new line types.
* dejagnu.h (totals): Add end marker.
(TestState::totals): Likewise.
2022-10-04 Jacob Bachmeyer <[email protected]>
PR58065
* lib/dg.exp (dg-test): Store results of analyzing messages in a
list, then report them to the framework after giving the pruning
callback an opportunity to skip the test case.
* testsuite/runtest.libs/dg.test: Add tests for skipping tests
based on special result codes from mock-dg-prune.
(mock-dg-test): Add directive for output text.
(mock-dg-prune): Recognize special markers for
UNRESOLVED/UNSUPPORTED/UNTESTED result codes.
2022-10-01 Jacob Bachmeyer <[email protected]>
PR58065
* testsuite/runtest.libs/mockutil.tcl (test_proc_with_mocks):
Report test failure instead of raising errors.
* testsuite/runtest.libs/dg.test: Add more unit tests.
(eval_tests): Copy this procedure...
* testsuite/runtest.libs/target.test (eval_tests): ...from here.
2022-09-30 Jacob Bachmeyer <[email protected]>
PR58065
* testsuite/runtest.libs/mockutil.tcl (test_proc_with_mocks): Add
usage comment and option to match number of calls for test.
(create_test_interpreter): Add support for mockvfs.
* testsuite/runtest.libs/dg.test: New file.
2022-09-29 Jacob Bachmeyer <[email protected]>
PR58065
* testsuite/runtest.libs/mockvfs.tcl: New file.
2022-09-26 Jacob Bachmeyer <[email protected]>
* testsuite/runtest.libs/libs.exp (process_test): Add forward
slash to the list of characters recognized as text.
2022-01-21 Jacob Bachmeyer <[email protected]>
PR53427
* runtest.exp (runtest): Reset the global warning and error
counters before running each test file. This prevents an error
"left over" from a previous test file from causing the first test
in the next file to be spuriously reported as UNRESOLVED.
* Makefile.am (TESTSUITE_FILES): Add new files.
* testsuite/runtest.main/pr53427.exp: New file for regression test.
* testsuite/runtest.main/nested/testsuite/pr53427.test/a.exp: Likewise.
* testsuite/runtest.main/nested/testsuite/pr53427.test/b.exp: Likewise.
2021-06-29 Jacob Bachmeyer <[email protected]>
PR49250
* runtest.exp: Adjust detection logic for deprecated broken legacy
case of a testsuite not actually in a testsuite/ directory.
This was never supported but happened to work in older versions.
2021-05-22 Jacob Bachmeyer <[email protected]>
* Makefile.am (TESTSUITE_FILES): Correct oversight.
* configure, Makefile.in, aclocal.m4: Regenerate.
* runtest.exp, configure.ac, doc/version.texi: Update version.
* dejagnu: Fix error message.
* config.guess: Import patched version; patches sent upstream.
* commands/help.sh: Add test mode in which man(1) is never
actually invoked. The ability to reference a manpage by absolute
file name seems to be unique to Free systems.
* testsuite/launcher.all/help.exp: Amend test list to use new
testing mode in "dejagnu help" command. This mode should also
work on Solaris, so the logic for skipping the tests is removed.
2021-05-20 Jacob Bachmeyer <[email protected]>
* dejagnu: Search for a POSIX Awk and validate that at least a
simple Awk program actually works.
* testsuite/launcher.all/command.exp: Add tests for error produced
when no Awk is found and a help message is requested.
* lib/dejagnu.exp: Avoid reporting next test as UNRESOLVED when
reporting error due to missing size(1) while loading file.
* testsuite/lib/runtest.exp (runtest_copy_nested_testsuite_log):
New procedure. Dumps log from nested run into main test log.
* testsuite/runtest.libs/utils.test: Change test for [which make]
to [which sh] because make(1) is not always available on non-GNU
systems but sh(1) exists on any Unix. GNU make is often installed
as "gmake" on non-GNU systems and may be the only "make" utility.
* testsuite/runtest.main/pr42399.exp (test_pr42399): Revise to
ensure that a failure to produce any output at all in the inner
test will be detected. This was discovered on Solaris 10.
* testsuite/runtest.main/stats.exp: Copy stat.log from nested
testsuite run to the main test log upon test failure.
* testsuite/runtest.main/nested/testsuite/stat.test/unit-sub.exp:
Explicitly pass /dev/null to unit-sub.awk because /usr/bin/awk on
Solaris 10 does not seem to recognize assignment to ARGV.
* testsuite/runtest.main/nested/testsuite/bug.test/pr42399-sub.exp:
Likewise.
2021-05-18 Jacob Bachmeyer <[email protected]>
* dejagnu: Redirect input from /dev/null when testing if awk is
GNU Awk; this avoids a hang on Solaris 10 where awk treats
--version as an Awk program and attempts to read input.
(command): Rework the initial setting of this variable to avoid
limitations in Solaris 10 awk.
* testsuite/report-card.all/onetest.exp: Avoid Tcl error when item
and totals lines are missing entirely.
* testsuite/runtest.main/pr48155.exp: Fix assumption about exit
code from /bin/false, which is different on Solaris.
2021-05-05 Jacob Bachmeyer <[email protected]>
PR48155
* Makefile.am (TESTSUITE_FILES): Update.
(CLEANFILES): Add special init file for PR48155 nested tests.
* testsuite/runtest.main/pr48155.exp: New file.
* testsuite/runtest.main/pr48155-csh.sh: New trivial file. This
script emulates the behavior of the C shell if an attempt is made
to use it to run the config.guess script.
2021-05-04 Jacob Bachmeyer <[email protected]>
PR48155
* runtest.exp: Tighten regexp used to validate output from
config.guess. The previous regexp would accept an error produced
if config.guess was incorrectly run using the C shell.
2021-04-28 Jacob Bachmeyer <[email protected]>
* configure, Makefile.in: Regenerate.
* runtest.exp, configure.ac, doc/version.texi: Update version.
* Makefile.am (TAR_OPTIONS): Explicitly select v7 tarball format
to work around Automake limitation of assuming that v7 is default.
2021-04-20 Jacob Bachmeyer <[email protected]>
* configure.ac: Set Automake options to use the ancient and
universal V7 format when building distribution tarballs. The
limitations of this format are not expected to impact DejaGnu; the
"ustar" format will be used instead if this is proved wrong.
* Makefile.am (TAR_OPTIONS): Add exported environment variable to
set options when building distribution tarballs. Ensure that all
files in distribution tarballs will be recorded as owned by root.
2021-04-16 Jacob Bachmeyer <[email protected]>
PR47382
* dejagnu (command): Use Awk instead of non-portable basename(1)
and a non-portable sed(1) pattern to initially set this variable.
* dejagnu: Use shell "case" pattern match instead of non-portable
"grep -q" to determine if "awk" is GNU Awk.
* dejagnu: Use Awk instead of non-portable "grep -q" to verify
that a file contains a help message. Also use Awk to extract help
messages from files, instead of a complex dynamic sed(1) program.
* configure.ac: Remove experimental support for propagating
CONFIG_SHELL to scripts in the source directory.
* runtest.exp: Use CONFIG_SHELL or SHELL environment variable when
running config.guess. Check the result carefully and stop with an
error immediately if running config.guess does not produce
something that plausibly resembles a triplet. Advise the user
that SHELL or CONFIG_SHELL may need to be set in the environment.
2021-04-15 Jacob Bachmeyer <[email protected]>
PR47382
* dejagnu: Avoid using $? for an exit code; it is convenient until
the tests fail because the script is run on Solaris where false
returns 255 instead of 1 and the test harness expects exit code 1.
2021-04-14 Jacob Bachmeyer <[email protected]>
PR47382
* dejagnu: Replace use of "expr :" with shell "case" pattern
match to avoid limitations of Solaris 10 expr(1).
2021-04-14 Jacob Bachmeyer <[email protected]>
* lib/specs.exp, testsuite/runtest.libs/specs.test: New files.
2021-04-08 Jacob Bachmeyer <[email protected]>
* configure: Regenerate.
* runtest.exp, configure.ac, doc/version.texi: Update version.
* configure.ac: Change "dnl" comments that should appear in
configure to regular comments.
Add experimental support for propagating CONFIG_SHELL to the
config.sub and config.guess scripts in the source directory.
2021-04-01 Jacob Bachmeyer <[email protected]>
PR47533
* dejagnu, commands/help.sh, commands/report-card.awk: Revise help
message to better fit GNU conventions, with thanks to Tom Tromey
for the reporting this issue.
PR47382
* runtest: Remove use of non-portable "if !" that causes problems
with /bin/sh on Solaris 10.
* dejagnu (Variants): Split the declaration of this read-only
variable into an assignment followed by marking it read-only,
instead of doing both in one statement. The Solaris 10 /bin/sh
does not accept the combined form.
2021-03-30 Jacob Bachmeyer <[email protected]>
* configure: Regenerate.
* runtest.exp, configure.ac, doc/version.texi: Update version.
2021-03-26 Jacob Bachmeyer <[email protected]>
PR47386
* testsuite/launcher.all/help.exp: Skip the tests on Solaris,
since Solaris man(1) does not accept explicit filenames. The
manpages will be installed as usual, and the "dejagnu help"
command should work after installation.
Also set PAGER for testing, since other systems might also ignore
MANPAGER and that would cause the test to hang.
* testsuite/lib/launcher.exp (dejagnu_run): Send commands run and
copies of the output produced to the log.
* commands/help.sh: Extend PR47382 fix (below) to this file.
PR47385
* testsuite/lib/runtest.exp: Remove support for automatically
locating an Expect executable in the old Cygnus tree layout.
2021-03-25 Jacob Bachmeyer <[email protected]>
PR47382
* dejagnu, runtest: Remove use of "$()" command substitution and
"$(())" arithmetic substitution shell constructs. The /bin/sh on
Solaris 10 does not support them. They were replaced with the
traditional backticks for command substitution and backticks and
the expr command for arithmetic substitution.
Also add markers to explicitly disable shellcheck warnings that
would lead to reintroducing these problems.
Also avoid the non-portable "`..."..."...`" construct on a warning
in the GNU Autoconf manual, section "Shell Substitutions",
although this introduces additional variables.
2021-03-22 Jacob Bachmeyer <[email protected]>
* configure: Regenerate.
* runtest.exp, configure.ac, doc/version.texi: Update version.
* config.guess, config.sub: Import from upstream.
* MAINTAINERS: Acknowledge that Ben Elliston has left the project.
2021-03-15 Jacob Bachmeyer <[email protected]>
* Makefile.am, Makefile.in: Update accordingly.
* contrib/compare_tests: Remove. This file lacked a GPL notice.
This file was imported from GCC many years ago. The GCC version
has benefited from continued development, while ours has not.
* testsuite/runtest.libs/load_lib.exp: Remove. This file lacked a
GPL notice and an attempt to contact the contributor produced no
response. The tests in this file will need to be rewritten in any
case; there is a bug in load_lib that they should expose and there
is now additional infrastructure for tests of this type that was
not available when this file was written.
2020-12-27 Jacob Bachmeyer <[email protected]>
* testsuite/runtest.libs/libs.exp (process_test): Report running
test scripts as each test script is run.
Also, at top-level, sort the list of tests to run.
* doc/dejagnu.texi (testsuite procedure): Remove noise word "api"
from new "testsuite can call api" feature test API entrypoint.
* lib/framework.exp (testsuite_can): Likewise.
* testsuite/runtest.libs/testsuite_can.test: Likewise.
* NEWS: Likewise.
2020-12-16 Jacob Bachmeyer <[email protected]>
* configure: Regenerate.
* configure.ac: Remove Tcl version check.
Apply patch from Nick Clifton:
* baseboards/msp430-sim.exp: Add missing copyright and GPL notice.
Apply patch from Dimitar Dimitrov:
* baseboards/pru-sim.exp: New file.
* Makefile.am (baseboard_DATA): Add pru-sim.exp to list.
* Makefile.in (baseboard_DATA): Likewise.
2020-12-15 Jacob Bachmeyer <[email protected]>
* configure: Regenerate.
* Makefile.in: Regenerate.
* Makefile.am (RUNTEST): Explain override of Automake default.
* configure.ac: Update for autoconf 2.69 using autoupdate.
* configure.ac: Remove search for expect now handled by Automake.
Apply patch from Dimitar Dimitrov:
* Makefile.am (dejagnu_TEXINFOS): Change this...
* Makefile.am (doc_dejagnu_TEXINFOS): ...to this.
This fixes an incorrectly recorded dependency.
2020-11-17 Jacob Bachmeyer <[email protected]>
PR44636 / PR44693
* doc/dejagnu.texi (Adding a new tool): Fix incorrect description
that conflated the tool init file with the target interface file.
(Make Check): Add cross-reference to the GNU Automake manual for
more details.
2020-11-10 Jacob Bachmeyer <[email protected]>
PR44545
* testsuite/lib/launcher.exp (link_dejagnu_launcher_test_item):
Use [file normalize] to ensure that link targets are unambiguous.
(link_dejagnu_launcher_test_item): Avoid spurious errors when test
environment has already been prepared in a previous run.
* testsuite/lib/launcher.exp (link_dejagnu_launcher_test_item):
New procedure to collect existing repeated testsuite code.
* testsuite/launcher.all/command.exp: Establish testing
environment using link_dejagnu_launcher_test_item procedure.
2020-11-09 Jacob Bachmeyer <[email protected]>
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* configure.ac: Revert development version branch tagging hook.
* Makefile.am: Likewise.
These caused failures (reported in PR44462 as a secondary issue)
when a source tree is copied out of a Git directory.
2020-08-31 Jacob Bachmeyer <[email protected]>
* doc/runtest.1: Add brief GFDL notice. License notice in the
formatted manpage should now describe DejaGnu as a whole.
* NEWS: Prepare for release.
2020-08-18 Jacob Bachmeyer <[email protected]>
* testsuite/runtest.libs/testsuite_file.test: Add missing
copyright and GPL notice.
* testsuite/runtest.libs/testsuite_can.test: Likewise.
* testsuite/runtest.libs/testcase_group.test: Likewise.
2020-08-12 Jacob Bachmeyer <[email protected]>
* doc/dejagnu.texi (The dejagnu_h header file): Remove node.
(Running unit tests): Add node.
(DejaGnu unit test protocol): Add node.
(C unit testing API): Update to reflect current API. Move mention
of dejagnu.h header here in preparation for future expanded
language support.
(C++ unit testing API): Likewise. Mention caveat that the C unit
test API is also available in C++ programs.
2020-08-10 Jacob Bachmeyer <[email protected]>
* baseboards/qemu.exp: Tidy whitespace.
2020-08-10 Jacob Bachmeyer <[email protected]>
Merge patch from Kito Cheng to add support for RISC-V sim target.
* baseboards/riscv-sim.exp: New file.
* Makefile.am (baseboard_DATA): Add riscv-sim.exp.
* Makefile.in (baseboard_DATA): Likewise.
2020-08-02 Jacob Bachmeyer <[email protected]>
* Makefile.am (TESTSUITE_FILES): Add files that were introduced
during development but were mistakenly not added at that time.
(baseboard_DATA): Sort baseboard file list.
(baseboard_DATA): Add missing files.
(dejagnu_TEXINFOS): New; add GNU FDL file.
(CONTRIB): Add experimental Python unit test module.
* Makefile.in (TESTSUITE_FILES): Likewise.
(baseboard_DATA): Likewise.
* testsuite/dejagnu.py: Move from here...
* contrib/dejagnu.py: ...to here.
2020-08-02 Rob Savoye <[email protected]>
* Makefile.in: Regenerate so make dist works.
2020-07-25 Jacob Bachmeyer <[email protected]>
* doc/dejagnu.texi (Writing a test case): Mention the DejaGnu
procedure "perror" instead of the Tcl command "error".
(Writing a test case): Reorganize node and give basic hints about
Tcl quoting and backslash escape rules.
(Writing a test case): Describe synchronization issues and warn
that prefixes of valid input can be presented for matching.
(Writing a test case): Fix markup from conversion from DocBook.
2020-07-22 Jacob Bachmeyer <[email protected]>
PR42399
* NEWS: Document changes to host_execute.
* lib/dejagnu.exp (host_execute): Revise expect matching to
combine all unit test protocol lines into one pattern.
(host_execute): Rework other expect patterns.
(host_execute): Ensure that all output from child process is read
until the child closes its output to avoid sending early SIGPIPE.
(host_execute): Report an ERROR (and cause the next test to be
recorded as UNRESOLVED) if the Expect matching buffer overflows.
(host_execute): Remove dependency on global "text" variable.
* Makefile.am (TESTSUITE_FILES): Update.
* testsuite/runtest.main/stats.exp: Generalize infrastructure and
add tests for DejaGnu unit testing support.
* testsuite/runtest.main/nested/testsuite/stat.test/unit-sub.exp:
New file.
* testsuite/runtest.main/nested/testsuite/stat.test/unit-sub.awk:
New file.
2020-07-20 Jacob Bachmeyer <[email protected]>
PR42399
* Makefile.am (TESTSUITE_FILES): Update.
* lib/dejagnu.exp (host_execute): Allow the executable to be
specified with an absolute file name.
(host_execute): Fix argument handling to allow passing more than
one argument to the executable. Return early if given no
arguments at all instead of trying to execute "./".
* testsuite/runtest.main/pr42399.exp: New file.
* testsuite/runtest.main/nested/testsuite/bug.test/pr42399.awk:
New file.
* testsuite/runtest.main/nested/testsuite/bug.test/pr42399-sub.exp:
New file.
2020-07-20 Jacob Bachmeyer <[email protected]>
* Makefile.am (CLEANFILES): Update.
(TESTSUITE_FILES): Update to reflect testsuite reorganization.
* testsuite/lib/runtest.exp (runtest_setup_nested_testsuite): New
procedure.
(runtest_cleanup_nested_testsuite): New procedure.
* testsuite/runtest.main/error.exp: Use the tool name "error" to
select the proper subset of the nested testsuite. Use new
procedures for handling nested testsuite. Use common
nested-init.exp local init file for nested testsuite. Let local
init file nested-init.exp handle setting "outdir" variable.
* testsuite/runtest.main/options.exp: Likewise; "null" tool.
* testsuite/runtest.main/stats.exp: Likewise; "stat" tool.
* testsuite/runtest.main/nested/: Combine nested testsuites.
* testsuite/runtest.main/error/testsuite/error.test/error-al-dbz.exp:
Move from here...
* testsuite/runtest.main/nested/testsuite/error.test/error-al-dbz.exp:
...to here.
* testsuite/runtest.main/error/testsuite/error.test/error-dbz.exp:
Move from here...
* testsuite/runtest.main/nested/testsuite/error.test/error-dbz.exp:
...to here.
* testsuite/runtest.main/error/testsuite/error.test/error-undef.exp:
Move from here...
* testsuite/runtest.main/nested/testsuite/error.test/error-undef.exp:
...to here.
* testsuite/runtest.main/error/testsuite/error.test/simple.exp:
Move from here...
* testsuite/runtest.main/nested/testsuite/error.test/simple.exp:
...to here.
* testsuite/runtest.main/options/testsuite/null.test/null.exp:
Move from here...
* testsuite/runtest.main/nested/testsuite/null.test/null.exp:
...to here.
* testsuite/runtest.main/stats/testsuite/stat.test/stats-sub.exp:
Move from here...
* testsuite/runtest.main/nested/testsuite/stat.test/stats-sub.exp:
...to here.
2020-07-16 Rob Savoye <[email protected]>
* baseboards/qemu.exp: Works now with qemu instead of sim.
2020-07-06 Rob Savoye <[email protected]>
* baseboards/qemu.exp: Initial working support to use qemu for
bare metal testing.
* Makefile.am: Install qemu.exp.
* autogen.sh: Add script borrowed from my Gnash project to
regenerate configure/build files.
* aclocal.m4, configure.ac, Makefile.am: regenerated GDB too.
* doc/dejagnu.texi: Update copyright date.
2020-06-29 Jacob Bachmeyer <[email protected]>
PR 41824 / PR 41918
* NEWS: Add item for repeated error messages.
* lib/framework.exp (log_and_exit): Add separator lines around the
error dumps repeated at the end of a run.
2020-06-26 Jacob Bachmeyer <[email protected]>
PR 41824 / PR 41918
* NEWS: Remove items for --keep_going / --no_keep_going options.
* Makefile.am (CLEANFILES): Adjust for renames.
(TESTSUITE_FILES): Likewise.
* doc/dejagnu.texi (Invoking runtest): Remove --keep_going and
--no_keep_going options.
(A POSIX Conforming Test Framework): Document that Tcl errors in
test scripts produce UNRESOLVED results as placeholders.
* doc/runtest.1: Likewise.
* lib/framework.exp (log_and_exit): Print collected Tcl errors.
* runtest.exp (dejagnu::error): New internal namespace.
(runtest): Collect Tcl errors caught while executing test scripts.
(dejagnu::opt): Remove internal namespace.
Remove --keep_going / --no_keep_going options. No longer abort on
any Tcl errors; instead store them and repeat the messages at the
end of the run.
* testsuite/runtest.main/abort.exp: Rename from this ...
* testsuite/runtest.main/error.exp: ... to this and revise tests.
* testsuite/runtest.main/abort/testsuite/abort.test/abort-al-dbz.exp:
Rename from this...
* testsuite/runtest.main/error/testsuite/error.test/error-al-dbz.exp:
... to this.
* testsuite/runtest.main/abort/testsuite/abort.test/abort-dbz.exp:
Rename from this...
* testsuite/runtest.main/error/testsuite/error.test/error-dbz.exp:
... to this.
* testsuite/runtest.main/abort/testsuite/abort.test/abort-undef.exp:
Rename from this...
* testsuite/runtest.main/error/testsuite/error.test/error-undef.exp:
... to this.
2020-06-24 Jacob Bachmeyer <[email protected]>
PR 41824 / PR 41918
* NEWS: Revise relevant items.
* doc/dejagnu.texi (Invoking runtest): Add --no_keep_going option.
* doc/runtest.1: Document --no_keep_going option. Remove
long-obsolete --name option. The --name option had been removed
from runtest before the code was imported into what became the
current repository.
* runtest.exp: Add option --no_keep_going to stop immediately if a
test script aborts due to a Tcl error. Remove vestiges of
long-obsolete --name option. Make --keep_going option default.
* testsuite/runtest.main/abort.exp: Adjust tests to use
--no_keep_going and --keep_going instead of assuming a default.
2020-06-22 Jacob Bachmeyer <[email protected]>
Merge patches from Maciej W. Rozycki to fix timeout handling.
* lib/remote.exp (close_wait_program): Use `catch' in killing
pending force-kills.
* lib/remote.exp (close_wait_program): Only kill the pending
force-kills if the PID list has a single entry.
(local_exec): Set the channel about to be closed to the
nonblocking mode if we didn't see an EOF.
(standard_close): Likewise, unconditionally.
2020-06-22 Jacob Bachmeyer <[email protected]>
* NEWS: Mention "linker=" option and added language support.
* doc/dejagnu.texi (target_compile procedure): Document new
"linker=" option to target_compile.
* lib/target.exp (default_target_compile): Actually use internal
option for separate linker provided for Go language support. This
seems to have been accidentally omitted from Tom Tromey's patches.
(default_target_compile): Add "linker=" option, similar to
"compiler=" option, but the former overrides the latter when
building an executable.
(default_target_compile): Ensure that "--emit obj" is spaced from
previous item when used to compile Rust. Use "--emit asm" instead
of "-S" when generating assembly from Rust sources.
* testsuite/runtest.libs/target.test: Add tests for Go and Rust.
Also add tests for the new "early_flags=" and "linker=" options.
2020-06-20 Jacob Bachmeyer <[email protected]>
* doc/dejagnu.texi (Libgloss): Update menu.
(find_go procedure, find_go_linker procedure): New nodes.
(find_rustc procedure): New node.
2020-06-19 Tom Tromey <[email protected]>
* doc/dejagnu.texi (target_compile procedure): Document Go
additions.
* lib/target.exp (default_target_compile): Handle Go.
* lib/libgloss.exp (find_go, find_go_linker): New procs.
2020-06-19 Tom Tromey <[email protected]>
* doc/dejagnu.texi (target_compile procedure): Document rust
additions.
* lib/target.exp (default_target_compile): Handle rust.
* lib/libgloss.exp (find_rustc): New proc.
2020-06-19 Tom Tromey <[email protected]>
* lib/target.exp (default_target_compile): Add early_flags.
* doc/dejagnu.texi (target_compile procedure): Document
early_flags.
2020-06-19 Jacob Bachmeyer <[email protected]>
Merge patches from Tom de Vries <tdevries <at> suse.de> and write
ChangeLog entries.
* testsuite/runtest.main/abort.exp: Add tests that verify handling
of arithmetic errors (divide-by-zero) in a procedure called within
a test script.
* testsuite/runtest.main/abort/testsuite/abort.test/abort-dbz.exp: New file.
2020-06-18 Jacob Bachmeyer <[email protected]>
PR 41824 / PR 41918
Thanks to Tom de Vries for raising these concerns and offering the
initial testsuite patch that led to these changes.
* NEWS: Add item for consistent abort-on-error handling.
* lib/framework.exp (unknown): Always link global variables. Tidy.
Silently propagate errors raised in autoloaded procedures and move
the UNRESOLVED result and aborting the test run to...
* runtest.exp (runtest): Report an UNRESOLVED result if a test
script aborts due to a Tcl error. Link global errorCode and
report its value if an error occurs. For consistency, abort the
test run on any Tcl error in a test script instead of only when
calling an undefined procedure.
* testsuite/runtest.main/abort.exp: Add tests to verify handling
of arithmetic errors (divide-by-zero) in an auto-loaded procedure
called from a test script. Adjust other patterns.
* testsuite/runtest.main/abort/testsuite/abort.test/abort-al-dbz.exp:
New file.
2020-06-17 Jacob Bachmeyer <[email protected]>
PR 41824
* NEWS: Add item for --keep_going option.
* Makefile.am (CLEANFILES): Add abort-init.exp to list.
(TESTSUITE_FILES): Add new testsuite files to list.
* doc/dejagnu.texi (Invoking runtest): Document new --keep_going
command line option.
* doc/runtest.1: Likewise.
* lib/framework.exp (unknown): Report an UNRESOLVED result if an
unknown command is invoked. Avoid exiting and propagate the error
from Tcl's "unknown" procedure if --keep_going was
specified. Brace procedure argument list.
* runtest.exp (dejagnu::opt): New namespace.
Add option --keep_going to continue running tests after a test
script aborts due to calling an undefined command.
* testsuite/runtest.main/abort.exp: New file.
* testsuite/runtest.main/abort/testsuite/abort.test/abort-undef.exp:
New file.
* testsuite/runtest.main/abort/testsuite/abort.test/simple.exp:
New file.
2020-06-17 Tom de Vries <tdevries <at> suse.de>
* lib/framework.exp (unknown): Propagate return value of auto-loaded
command.
2020-06-15 Jacob Bachmeyer <[email protected]>
Merge patches from Linaro:
2018-09-28 Christophe Lyon <[email protected]>
* lib/ssh.exp (ssh_exec): Redirect stderr to stdout on the remote
machine, to avoid race conditions.
2016-04-25 Yvan Roux <[email protected]>
* lib/rsh.exp (rsh_exec): Don't remove trailing newline.
* lib/ssh.exp (ssh_exec): Likewise.
2016-06-28 Maxim Kuvyrkov <[email protected]>
* config/unix.exp (unix_load): Prepend the value of an
"exec_shell" board_info key to the command if it is defined.
2020-06-06 Jacob Bachmeyer <[email protected]>
* NEWS: Document "testcase" command.
* doc/dejagnu.texi (testcase procedure): Document multiplex entry
point and "testcase group" command.
* lib/framework.exp: Add internal namespace ::dejagnu::group.
(::dejagnu::group::check_name): New procedure.
(::dejagnu::group::current): New procedure.
(::dejagnu::group::push): New procedure.
(::dejagnu::group::pop): New procedure.
(::dejagnu::group::pop_to_file): New procedure.
(testcase): New procedure for multiplex commands.
(testcase_group): New procedure implementing "testcase group".
* testsuite/runtest.libs/testcase_group.test: New file.
2020-06-05 Jacob Bachmeyer <[email protected]>
* NEWS: Document new "testsuite can call api" command.
* doc/dejagnu.texi (testsuite procedure): Document new subcommand
"testsuite can call api".
* lib/framework.exp (testsuite): Add branch for "testsuite can".
(testsuite_can): New procedure implementing "testsuite can".
Add internal array ::dejagnu::apilist to store information for
"testsuite can call api" for querying the availability of an API
call. This will allow test scripts to adapt and use new features
while still being able to run under older versions of DejaGnu.
* testsuite/runtest.libs/testsuite_can.test: New file.
2020-06-02 Jacob Bachmeyer <[email protected]>
PR 41647
* NEWS: Fix typo. Fix Emacs mode tag.
Document use of Tcl namespace ::dejagnu for internals.
* runtest.exp (dejagnu::command_line): New namespace.
(dejagnu::command_line::save_cmd_var): New procedure.
(dejagnu::command_line::restore_cmd_vars): New procedure.
(dejagnu::command_line::dump_cmd_vars): New procedure.
* runtest.exp: Save internal variables set by command line
arguments during the first pass and restore their values after
loading testsuite init files.
2020-06-01 Jacob Bachmeyer <[email protected]>