-
Notifications
You must be signed in to change notification settings - Fork 20
/
CHANGES
1481 lines (910 loc) · 47.4 KB
/
CHANGES
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
1.2 | 2024-12-10 14:36:06 -0700
* Fix formatting of output when threading (Tim Wojtulewicz, Corelight)
* Fix formatting bug with output of percentage complete (Tim Wojtulewicz, Corelight)
1.1-28 | 2024-12-05 12:37:47 -0700
* Bump used GH actions (Benjamin Bannier, Corelight)
* Add python-3.13 to CI (Benjamin Bannier, Corelight)
* Bump pre-commit hooks (Benjamin Bannier, Corelight)
* Prefer format or f-strings over percent formatting (Benjamin Bannier, Corelight)
1.1-23 | 2024-12-04 19:18:04 +0100
* btest-setsid: Fail on setsid() error (Arne Welzel, Corelight)
* btest-bg-run-helper: Ignore SIGTERM to self during cleanup (Arne Welzel, Corelight)
The kill 0 invocation would kill the btest-bg-run-helper itself,
causing the subsequent logic to not be executed, resulting in
runaway processes on the system.
1.1-20 | 2024-12-04 08:46:27 -0700
* Fix ruff UP check findings (Tim Wojtulewicz, Corelight)
* Upgrade python requirement to 3.9 (Tim Wojtulewicz, Corelight)
1.1-17 | 2024-07-31 14:15:38 +0200
* ci: Drop python-3.7, add python-3.12 (Benjamin Bannier, Corelight)
Even though python-3.7 remains our minimal Python version it is not
support by GH actions anymore so this commit drops it from CI. We also
add a setup for the now released python-3.12.
* Activate flake8-implicit-str-concat linter (Benjamin Bannier, Corelight)
* Activate isort linter (Benjamin Bannier, Corelight)
* Activate pyflakes linter (Benjamin Bannier, Corelight)
We previously linted with flake8 so this contains no code changes.
* Active linter for style around comprehensions (Benjamin Bannier, Corelight)
* Use ruff for pyupgrade functionality (Benjamin Bannier, Corelight)
* Move project configuration to `pyproject.toml` (Benjamin Bannier, Corelight)
This centralizes most project configuration from `setup.py` and
`setup.cfg` into the existing `pyproject.toml` so it can be picked up by
more tools.
* Bump pre-commit hooks (Benjamin Bannier, Corelight)
1.1-8 | 2024-04-10 09:35:28 -0700
* Standardize on ruff for python formatting/linting via pre-commits (Tim Wojtulewicz, Corelight)
1.1-6 | 2024-01-09 09:16:00 +0100
* Add option to read lists of tests from file. (Robin Sommer)
```
-i FILE, --tests-file=FILE
Loads the list of tests to execute from a file. Each line in the
file is interpreted as the name of a test, or a group of tests, to
execute, just like the tests would be specified on the command
line. Empty lines and lines starting with ``#`` are ignored. (This
format is compatible with that of the ``btest`` `StateFile
<state_file_>`_.)
```
1.1-4 | 2023-10-04 11:30:31 +0200
* Simplify generation of temporary files (Benjamin Bannier, Corelight)
Instead of manuall relying in `$$` being unique, with this patch we
instead use `mktemp` which creates a unique, temporary file which we can
use later. This also removes the possibility that we accidentially
overwrite other existing files in the final location, e.g., from
previous, failed runs.
Via the default behavior of `mktemp` with this patch we also switch from
forced generation of temporary files in `/tmp` to possibly `$TMPDIR` if
set.
1.1-2 | 2023-08-09 15:20:16 +0200
* Bump pre-commit hooks. (Benjamin Bannier, Corelight)
1.1 | 2023-07-05 09:52:44 -0700
* Release 1.1.
1.0-12 | 2023-07-05 09:52:33 -0700
* CI: automatically push to PyPI when pushing a git tag (Christian Kreibich, Corelight)
1.0-10 | 2023-04-20 13:10:09 -0700
* Add sphinx-related directory to gitignore (Christian Kreibich, Corelight)
* Recognize "date" without nanosecond support in btest-progress (Christian Kreibich, Corelight)
* Avoid diff --strip-trailing-cr since it's not available everywhere. (Christian Kreibich, Corelight)
1.0-6 | 2023-03-02 10:47:08 +0100
* GH-60: Support environment variable removal in alternatives (Arne Welzel, Corelight)
1.0-4 | 2023-02-21 10:20:20 +0100
* stderr/stdout: Do not assume well-formed UTF-8 output (Arne Welzel, Corelight)
The previous code opened stdout/stderr providing an explicit encoding="utf-8"
argument. This has no effect when the file handles are passed as stderr/stdout
to a subprocess: Only the underlying fds are passed and there's no way to
control the encoding (if any) used by the subprocess for the bytes it
produces on these streams.
So, switch things around: Remove the misleading encoding arguments for the
stdout, stderr files, open them in binary mode and be careful when
opening .stderr for displaying purposes. Do try UTF-8, but also set error
strategy to "backslashreplace" to avoid errors.
* monitor_cb: Start thread with daemon=True (Arne Welzel, Corelight)
When an unexpected exception happened in a child process, nothing would
stop the monitor_cb thread and in turn the child process would never
finish. Use daemon=True on the monitor_cb thread to prevent this.
There should never be unhandled exceptions in child processes, because
it may then not close all resources properly etc, but a non-terminating
btest is worse, specifically when btest is run in CI unattended.
1.0 | 2023-02-01 16:07:31 -0700
* Release 1.0.
0.72-71 | 2023-02-01 16:07:09 -0700
* Fix test cloning bug that caused "subtests" to run without numeric suffix (Christian Kreibich, Corelight)
When running with retries, failing tests created via @TEST-START-NEXT were
cloned for retry in a way that lost their numeric suffix, which could cause
btest to consult the wrong baselines.
* Add testcase for retried subtests (Christian Kreibich, Corelight)
This highlights a bug in which a subtest (via @TEST-START-NEXT) other than the
first always gets retried as the first, but with the wrong baseline.
0.72-68 | 2023-01-31 18:29:53 -0800
* Automated code formatting and modernization (Christian Kreibich, Corelight)
- Final touches on top of automated reformatting.
- setup.cfg/pre-commit-config: Add flake8 hook and config
- Minor tweaks in preparation for flake8
- Automatically update Python sources to use python-3.7 syntax
- Minor tweaks to clue in pyupgrade
- Add `.git-blame-ignore-revs` file.
- Reformat Python code with Black.
- Minor Python tweaks in anticipation of reformatting
- Minor indentation tweak in pre-commit config
- Modernize action versions in pre-commit workflow
- Don't ignore the sphinx folder, it has revision-controlled content
- Remove unused .travis.yml setup
0.72-55 | 2023-01-25 16:06:26 -0800
* Whitespace-align the thread prefixes in output handlers (Christian Kreibich, Corelight)
* Prevent output garbling when running with "-A -j" (Christian Kreibich, Corelight)
* Switch Console and CompactConsole to using base class's output file member (Christian Kreibich, Corelight)
* Make OutputHandler's default output file a constructor argument (Christian Kreibich, Corelight)
* Prevent console.test from garbling output (Christian Kreibich, Corelight)
* Comment-only tweaks, no other change (Christian Kreibich, Corelight)
0.72-48 | 2023-01-13 15:53:55 -0700
* Add Windows Caveats to README, add bash.exe check at startup (Tim Wojtulewicz)
* Add tests.environment-windows btest (Tim Wojtulewicz)
The original tests.environment btest doesn't work on Windows due to some
path differences in the output. This adds a new test that does the same
things except does some additional conversions in the test script itself
to remove those differences.
* Open .stdout and .stderr in append mode (Tim Wojtulewicz)
This fixes a problem on Windows where multiple TEST-EXEC statements in a
test could cause those files to be overwritten by subsequent TEST-EXECs,
causing failures.
* Fix tests.multiple-baseline-dirs btest to use pathsep (Tim Wojtulewicz)
* Fix strip-test-base script to handle Windows paths correctly (Tim Wojtulewicz)
* Fix diff-remove-abspath to handle Windows drive letters (Tim Wojtulewicz)
* Add testing script to check for Windows, use it to disable some tests (Tim Wojtulewicz)
* Return error if trying to use Sphinx features on Windows (Tim Wojtulewicz)
* Force output to use unix-style line endings for consistency (Tim Wojtulewicz)
* Use binascii.crc32 for computing hashes for TEST-SERIALIZE commands (Tim Wojtulewicz)
Windows has some issue where `hash()` returns different values for the
same string in the different child processes. crc32() returns the same
values in each.
* Rework how test processes are called on Windows (Tim Wojtulewicz)
This changes how runSubprocess works on Windows to insert all of the
calls within a temporary bash script. This ensures that the entire
environment is available when running the processes, which doesn't
work when simply calling subprocess.check_call().
* Fix an error when attempting to delete the tmp dirs on Windows (Tim Wojtulewicz)
* Rebuild globals() table in child processes on Windows (Tim Wojtulewicz)
Using the 'spawn' method for multiprocessing causes the global
state to get lost when moving from the parent into the child
processes. Rebuilding it by looping over a subset and reinserting
them into globals() ensures that they exist.
* Move option parsing to a method (Tim Wojtulewicz)
* Use named pipes on Windows since AF_UNIX is not supported (Tim Wojtulewicz)
* Fix running tests with dot-notation for their name (Tim Wojtulewicz)
* Add method for normalizing paths on both Windows and POSIX (Tim Wojtulewicz)
* Avoid isinstance() to determine whether a cmd is a CmdSeq (Christian Kreibich, Corelight)
As per the comment, some serializer/unserializers don't produce the identical
type when unserializing, failing isinstance().
* Add -s/--set command-line argument for overriding config defaults (Tim Wojtulewicz)
* Switch to https://pypi.org/project/multiprocess/ on Windows (Tim Wojtulewicz)
The reason for this switch is primarily because the stock
multiprocessing library has very poor support for pickling of
non-primitive types on Windows.
* Move outputhandler creation to separate function (Tim Wojtulewicz)
* Rename WSL bash so it doesn't override Git bash for Windows CI builds (Tim Wojtulewicz)
* Set git's autocrlf option to false when running tests on Github (Tim Wojtulewicz)
If this option isn't here, the Windows runners will reset all of the
line endings when it clones to \r\n. This breaks a few of the tests
because the comparison will have the wrong line endings.
* Bump required python version to 3.7, update github workflows (Tim Wojtulewicz)
This also adds a new workflow to test setup.py to ensure that the
package installs correctly and you can run the internal tests against
the installed version.
0.72-20 | 2022-12-13 09:12:13 +0100
* Add back CI run for Python 3.5. (Benjamin Bannier, Corelight)
0.72-18 | 2022-12-09 14:08:00 -0800
* GH-75: Do not ignore case of options. (Benjamin Bannier, Corelight)
0.72-16 | 2022-12-06 11:22:53 -0800
* CI: remove explicit use of Python 3.5, EOL (Christian Kreibich, Corelight)
* Explain recent alternatives-related changes in the README. (Christian Kreibich, Corelight)
* Fix handling of specific alternatives in combination with the default (Christian Kreibich, Corelight)
* Fail when -a/--alternative includes an alternative not defined in the config (Christian Kreibich, Corelight)
* Add test for use of an undefined alternative (Christian Kreibich, Corelight)
0.72-10 | 2022-11-16 14:44:01 +0100
* Always use UTF-8 encoding for BTest input and output files.
(Benjamin Bannier, Corelight)
0.72-7 | 2022-11-16 10:23:44 +0100
* Python cleanup (Benjamin Bannier, Corelight)
- Use `locale.getlocale` instead of deprecated `locale.getdefaultlocale`.
- Remove code for Python 2 compatibility.
- Use `python3` instead of `python` binary in test. Newer versions
of e.g., macOS do not provide a `python` binary anymore.
* Bump pre-commit checks. (Benjamin Bannier, Corelight)
0.72-2 | 2022-11-08 10:34:21 +0100
* Remove dependency on distutils. The distutils module will be
removed from Python in 3.12. (Cyril Rolando)
0.72 | 2022-03-22 09:21:34 +0100
* Release 0.72.
0.71-4 | 2022-03-22 09:19:53 +0100
* Make test `duplication-selection` independent of actual
scheduling.
0.71-2 | 2022-02-02 12:47:42 +0100
* Avoid assertion failure if same test required multiple times.
(Benjamin Bannier, Corelight)
0.71 | 2021-11-01 12:04:45 -0700
* Release 0.71.
0.70-6 | 2021-11-01 12:03:30 -0700
* Add PartInitializer option (Christian Kreibich, Corelight)
* Support for global and test-part teardowns (Christian Kreibich, Corelight)
* Remove Python 2.7 from manifest (Christian Kreibich, Corelight)
0.70 | 2021-10-28 12:14:34 -0700
* Release 0.70.
0.69-36 | 2021-10-28 12:12:47 -0700
* Prevent multiprocessing state leaks into toplevel .tmp directory (Benjmain
Bannier, Corelight)
* Check whether post-testing .tmp is empty (Benjamin Bannier and Christian
Kreibich, Corelight)
* Clean up registered temp files in btest-rst-cmd (Christian Kreibich,
Corelight)
* Add temp directory to the statefile-sorted test (Christian Kreibich,
Corelight)
0.69-31 | 2021-10-22 13:29:57 +0200
* Remove use of Python 3.7 feature `time.time_ns`. (Benjamin
Bannier, Corelight)
* Use appropiate Sphinx versions for different Python versions.
(Benjamin Bannier, Corelight)
* GH-66: Fix typo preventing use of configured Python version in CI.
(Benjamin Bannier, Corelight)
0.69-27 | 2021-10-19 13:33:43 -0700
* Remove uses of deprecated `distutils` package. (Benjamin Bannier, Corelight)
0.69-25 | 2021-10-08 11:55:13 +0200
* Improve backtick expansion in `btest.cfg`. Instead of naive
splitting of the command string into arguments, pass the command
as-is to a subshell for parsing. Note that this changes semantics
of backticks slightly. However, they were ill-defined to begin
with. (DJ Gregor, Corelight)
* Minor README tweaks. (DJ Gregor, Corelight)
0.69-22 | 2021-09-24 10:57:31 +0200
* Add pre-commit configuration. (Benjamin Bannier)
* Reformat Python scripts with yapf. (Benjamin Bannier)
* Reformat shell scripts with shellfmt. (Benjamin Bannier)
* Fix a couple issues tagged by shellcheck. (Benjamin Bannier)
* More precise environment filtering in
local-alternative-show-env.test. (Christian Kreibich, Corelight)
* Fix parallel/interleaved execution between the test wrapup
functions (such as testSucceeded) and the progress monitor.
(Christian Kreibich, Corelight)
* Switch Sphinx build test to use "text" output format. (Christian
Kreibich, Corelight)
* Add GitHub action exercising the test suite. (Benjamin Bannier,
Corelight)
* Make `btest-progress` more robust under concurrency. (Benjamin
Bannier, Corelight)
* Fix test `tests.sphinx.run-sphinx` for sphinx-3.5.4. (Benjamin
Bannier, Corelight)
* Show verbose failures when running test target. (Benjamin Bannier,
Corelight)
* Fix misspelled variable name in `btest-sphinx.py`. (Benjamin
Bannier, Corelight)
0.69-4 | 2021-08-10 08:25:39 +0200
* Add flag `-l` to print available tests. (Benjamin Bannier,
Corelight)
0.69-2 | 2021-08-04 18:12:33 +0200
* Always print a sorted list of failed tests to the state file.
(Benjamin Bannier, Corelight)
0.69 | 2021-06-07 09:33:51 +0200
* Release 0.69.
0.68-9 | 2021-06-07 09:31:03 +0200
* Documentation updates. (Christian Kreibich, Corelight)
- Add a section on running btest, to give some basic context.
- Add more detail on btest invocation and test selection.
- Update docs for download and installation, shifting focus to PyPI.
- Move TEST-START-NEXT description to its section.
0.68-4 | 2021-06-01 18:34:04 +0200
* Alternatives: Update `baselinedir` default after potentially
changing testbase. (Arne Welzel, Corelight)
0.68-2 | 2021-06-01 08:53:42 +0200
* Fix issue where global configuration object wasn't updated for
environment variables taken from alternatives. (Arne Welzel,
Corelight)
* Ignore environment variable when overridden by alternative. (Arne
Welzel, Corelight)
0.68 | 2021-04-16 16:21:36 -0700
* Release 0.68.
0.67-2 | 2021-04-16 16:21:14 -0700
* Preserve CRLF line-terminators in test files (Jon Siwek, Corelight)
Since the test itself may depend on their existence.
Related to https://github.com/zeek/zeek/issues/1497
0.67 | 2021-01-21 13:27:20 -0800
* Release 0.67.
0.66-2 | 2021-01-21 13:26:58 -0800
* Support BTest installation via CMake (Christian Kreibich, Corelight)
This copies the relevant files manually. Relying on setup.py is
feasible but requires careful separation of build and source
directories, so currently explicit file lists are easier to maintain.
0.66 | 2021-01-08 12:14:24 +0000
* Bug fix to apply TEST-REQUIRES to tests duplicated with TEST-START-NEXT.
(Robin Sommer, Corelight)
0.65 | 2020-12-07 09:32:03 +0000
* Release 0.65.
0.64-21 | 2020-12-07 09:01:13 +0000
* Default to `-j 1` to make CTRL-C work consistently. We now always use
multiprocessing with a single process, with one exception: interactive
baseline updates still run directly. (Christian Kreibich, Corelight)
* Avoid leaking processes due to lacking sync manager shutdown.
(Christian Kreibich, Corelight)
* Speed up the threading test since its built-in delays weren't actually
required for the test. (Christian Kreibich, Corelight)
0.64-18 | 2020-12-07 08:44:55 +0000
* Add "binary mode" to btest-diff. In binary mode, invoked with -b/--binary,
btest-diff compares test output and baselines for equality only, never
applies canonifiers, and doesn't apply our btest header when updating
baselines. (Christian Kreibich, Corelight)
0.64-16 | 2020-12-07 08:35:25 +0000
* GH-36: Fix --abort-on-failure for expected failures. (Robin Sommer,
Corelight)
0.64-14 | 2020-12-01 16:05:25 +0000
* Add support for multiple baseline directories. (Robin Sommer, Corelight)
This works be setting the environment variable BTEST_BASELINE_DIR to a
colon-separated list of directories. They will be searched in order when
looking a baseline file to compare against. Updating a baseline will always
put the new content into the first directory. One can now also generally
set a different baseline directory through BTEST_BASELINE_DIR. See the
README for more.
* Require Python >= 3.5. (Jon Siwek, Corelight)
0.64-1 | 2020-11-11 12:57:12 +0000
* Fix for Python 3. (Robin Sommer, Corelight)
0.64 | 2020-10-20 14:02:01 +0000
* Fix canonification problem. (Robin Sommer, Corelight)
0.63 | 2020-10-20 08:32:28 +0000
* Add support for minimum BTest version requirement in the config
file. If an entry called "MinVersion" is present in the "btest"
section, it spells out a minimum version that BTest must have in
order to run. If that condition isn't fulfilled, we exit with
error code 1 and a corresponding error message on stderr.
(Christian Kreibich, Corelight)
* GH-29: Add new options -F/--abort-on-failure that will abort once
at least one test has failed. (Robin Sommer, Corelight)
* Documentation and code cleanup. (Christian Kreibich, Corelight)
0.62-13 | 2020-10-09 07:33:49 +0000
* Canonify outputs when updating baselines via btest-diff.
(Christian Kreibich, Corelight)
This leverages the same canonicalization btest-diff already
applies during test output comparison against baselines also when
updating those baselines (usually via btest -U/-u). This removes a
bunch of noise from the baselines, including personal home
directories, timestamps, etc.
Since btest-diff doesn't know whether the baseline has undergone
this canonicalization, it continues to canonicalize the baseline
prior to diffing. To track whether it has canonicalized a baseline
when updating, btest-diff now also prepends a header to the
generated baseline that warns users about the fact that it is
auto-generated. The presence of this header doubles as a marker
for canonicalization.
* Clean up btest-diff's shell code. (Christian Kreibich, Corelight)
0.62-7 | 2020-09-24 07:47:26 -0700
* GH-26: Explicitly use multiprocessing "fork" start-method (Jon Siwek, Corelight)
The default start-method on macOS in Python 3.8+ is "spawn", but that
emits a RuntimeError with current btest structuring.
0.62-5 | 2020-08-25 07:57:23 +0000
* GH-11: Fix %DIR not being set correctly in cloned tests. (Jon
Siwek, Corelight)
* Sort XML attributes for more output stability across Python
versions. (Jon Siwek, Corelight)
* Use Sphinx logging API directly for compatibility with Sphinx
2.0+. (Jon Siwek, Corelight)
0.62 | 2020-05-08 15:07:11 +0000
* Release 0.62.
0.61-10 | 2020-05-08 15:05:46 +0000
* Catch keyboard interrupt to abort orderly and immediately. The
existing workers will still run to completion in the background.
(Benjamin Bannier, Corelight)
0.61-8 | 2020-04-28 10:00:41 +0000
* Add `--trace-file` option for recording Chrome trace file.
(Benjamin Bannier, Corelight)
0.61-2 | 2020-02-13 18:53:41 +0000
* Provide a more apt description for btest. (Christopher M. Hobbs,
Corelight)
0.61 | 2020-02-07 10:19:25 +0000
* Release 0.61.
0.6-4 | 2020-02-07 10:18:14 +0000
* Change --retries option to not increment test name on retries.
(Jon Siwek, Corelight)
* Fix retrying tests that use additional files. (Jon Siwek,
Corelight)
0.60 | 2020-01-17 09:13:56 +0000
* Show diagnostics for expected failures when --diagnostics-all is
used. (Robin Sommer, Corelight)
* Fix btest exit code to indicate success if only tests are failing
that are expected to. (Robin Sommer, Corelight)
* Extend XML test case to cover -j flag. (Jon Siwek, Corelight)
* Fix XML output option -x to work with -j. (Jon Siwek, Corelight)
0.59-12 | 2019-09-09 11:30:26 +0000
* Add timestamps to "btest-progress" output. They are added to
stderr only, so that they will get recorded but not displayed
during execution. The new option -T suppresses the timestamp. (DJ
Gregor, Corelight)
0.59-8 | 2019-08-16 16:15:41 +0000
* New option -z <RETRIES> to retry any failed tests a few times to
see if they might just be unstable. (Dev Bali, Corelight)
0.59-1 | 2019-08-09 09:11:32 -0700
* Update username in `make upload` target (Jon Siwek, Corelight)
0.59 | 2019-08-01 12:04:06 -0700
* Release 0.59.
0.58-12 | 2019-08-01 12:02:01 -0700
* Drop use of Python 2.6 for Travis CI tests (Jon Siwek, Corelight)
0.58-11 | 2019-06-27 16:54:17 +0000
* Adding clarity to difficult to understand error message. (Sam
Zaydel, Corelight)
0.58-9 | 2019-06-17 20:17:32 -0700
* Update Travis config for bro to zeek renaming (Daniel Thayer)
0.58-7 | 2019-05-24 16:16:07 +0000
* Use more portable platform.system() for determining platform name.
(woot4moo)
0.58-5 | 2018-12-07 16:32:52 -0600
* Update github/download link (Jon Siwek, Corelight)
0.58-4 | 2018-11-29 16:55:33 -0600
* Add TEST-PORT command and PortRange option (Jon Siwek, Corelight)
These control assignment of TCP ports to environment variables for
use during test execution. Helps in writing unit tests that can be
run concurrently or just in reducing the risk of a unit test failing
due to a port already being used by some external process.
0.58 | 2018-05-21 22:32:21 +0000
* Release 0.58.
0.57-32 | 2018-05-21 22:31:42 +0000
* Show number of skipped tests even when none fail. (Daniel Thayer)
* Delete a test's temporary directory if skipped, unless the user
wants these. (Corelight)
0.57-28 | 2018-05-08 10:03:20 -0500
* BIT-1735: open btest files as utf-8 if locale has no default encoding
(Corelight)
* Normalize output of a sphinx-related unit test (Corelight)
* Improve a unicode decode error message (Daniel Thayer)
0.57-24 | 2018-04-18 14:56:56 -0700
* Improving console output. (Robin Sommer)
- When showing a progress message, always clear to end of line
to delete any content that a previous, longer message may
have left.
- Ensure to turn the cursor back on at exit.
0.57-23 | 2018-03-15 14:58:20 -0700
* Configure Travis CI email recipients and build branches. (Daniel
Thayer)
0.57-21 | 2018-02-05 15:05:43 -0800
* Add a .travis.yml file. (Daniel Thayer)
0.57-19 | 2018-01-19 15:14:02 -0800
* Fix a bug when setting base dir using a relative path. Addresses
BIT-1892. (Daniel Thayer)
* Improve testing of setting a non-default base directory. (Daniel
Thayer)
0.57-16 | 2017-11-17 15:03:16 -0800
* Fix "btest -R" to preserve sorted output ordering. (Daniel Thayer)
* Add more tests to "doc.test". (Daniel Thayer)
0.57-13 | 2017-10-23 15:35:21 -0700
* Tweak -A|--show-all to use only coloring, not cursor navigation.
(Christian Kreibich)
* Fix the doc.test. (Daniel Thayer)
* Improve the console.test and document "--show-all" option. (Daniel
Thayer)
* Added documentation of the "--show-all" option. (Daniel Thayer)
* Allow multiple TEST-DOC keywords in a test file. (Daniel Thayer)
0.57-7 | 2017-10-16 12:18:28 -0700
* Fix the console.test to work on FreeBSD and macOS. (Christian
Kreibich/Daniel Thayer)
0.57-5 | 2017-10-06 15:01:23 -0700
* Additional control over TTY-based output handling This adds
-A|--show-all, which makes console output preserve output lines
for passing/skipped tests. (Christian Kreibich)
* Fix btest-rst-cmd script to remove tmp files. (Daniel Thayer)
* Added TMPDIR to btest.cfg so that temporary files are stored in a
local directory instead of a system-wide tmp directory. (Daniel
Thayer)
0.57 | 2017-05-15 16:13:33 -0700
* Release 0.57.
0.56-22 | 2017-05-15 16:13:23 -0700
* Fixing broken version numbers. (Robin Sommer)
0.56-21 | 2017-05-15 16:05:18 -0700
* Catching CTRL-C and cleaning up. (Robin Sommer)
0.56-20 | 2017-03-21 17:56:10 -0700
* Catching exception that wasn't caught. (Robin Sommer)
0.56-19 | 2017-03-03 12:50:42 -0800
* Fix btest-progress output to stderr when run from btest. (Daniel
Thayer)
0.56-17 | 2017-03-02 16:24:31 -0800
* Cosmectics for progress output: Delete it before asking for
baseline updates. (Robin Sommer)
* Fixing missing output for back-to-back btest-progress calls.
Addresses BIT-1800. (Robin Sommer)
* Fix for augmented output to console. (Robin Sommer)
* Send btest-progress output to stderr as well. (Robin Sommer)
0.56-13 | 2017-02-23 10:14:56 -0800
* Prevent socket path length from exceeding system limits. Addresses
BIT-862. (Daniel Thayer)
0.56-11 | 2017-02-03 12:38:01 -0800
* Adding btest-progress to setup.py. (Robin Sommer)
0.56-10 | 2017-01-25 13:04:07 -0800
* Fix a failing test on FreeBSD. (Daniel Thayer)
* Fix a bug in btest-progress when using the "-q" option. (Daniel
Thayer)
* Fix some trivial errors in documentation and Makefile. (Daniel
Thayer)
* Add 'upload' Makefile target to upload to PyPi. (Jon Siwek)
0.56-5 | 2017-01-24 08:45:29 -0800
* Bugfix for recent btest-progress changes. (Robin Sommer)
0.56-4 | 2017-01-23 19:59:59 -0800
* New utility btest-progress to display progress messages while a
test is executing. These messages appear in real-time while the
rest is still running. When stdout is a tty, the progress messages
are incorporated into the colored one-line status message. By
default, btest-progress also prints the message to a test's
standard output. That can be suppressed by giving it an option -q.
(Robin Sommer)
* Experimental automatic generation of test reference documentation.
The new command-line option "-R <format>" prints out a list of all
tests in either Markdown (format 'md') or reStructuredText (format
'rst'). The list includes a documentation string with each test
that gets defined through a new "@TEST-DOC: <docstring>"
directive. This is experimental. (Robin Sommer)
* Fix pylint warnings. (Robin Sommer)
0.56 | 2016-10-31 14:23:57 -0700
* Release 0.56.
0.55-6 | 2016-10-31 14:23:24 -0700
* Python 3 compatibility fixes for btest-sphinx.py. (Daniel Thayer)
0.55-4 | 2016-10-25 09:31:25 -0700
* Fix diff-max-lines.test to work on openbsd. (Daniel Thayer)
0.55-2 | 2016-10-10 08:18:54 -0700
* Fix the btest-rst-cmd script to work with Python 3. (Daniel
Thayer)
0.55 | 2016-02-23 14:02:35 -0800
* Release 0.55.
0.54-65 | 2016-02-23 14:00:10 -0800
* Fine-tuning diagnostic output. It needlessly stripped leading
whitespace. (Robin Sommer)
0.54-63 | 2016-02-07 19:39:54 -0800
* Extending --groups to allow running everything *except* a set of
groups. (Robin Sommer)
* Fix portability issue with use of mktemp. (Daniel Thayer)
0.54-60 | 2015-11-16 07:30:38 -0800
* Updates for Python 3. (Fabian Affolter)
0.54-58 | 2015-10-01 16:04:51 -0700
* Improved test of TEST_DIFF_FILE_MAX_LINES. (Daniel Thayer)
* Added ability for a user to override the default number of lines
to show for diffs by setting the environment variable
TEST_DIFF_FILE_MAX_LINES. Reduced the default to 100. (Daniel
Thayer)
* When no baseline exists, changed btest-diff to always just show
the entire file. (Daniel Thayer)
0.54-55 | 2015-08-25 07:47:22 -0700
* Port to Python 3. (Daniel Thayer)
* Various cleanup, bug fix, simplifications, and smaller
improvements. (Daniel Thayer)
* Improve and extend test suite substantially. (Daniel Thayer)
0.54-9 | 2015-07-03 18:21:52 -0700
* Make sure IgnoreDirs works with toplevel globbing. (Robin Sommer)
0.54-8 | 2015-07-03 16:31:24 -0700
* Expanding globs in TestDirs, relative to TestBase. (Robin Sommer)
0.54-7 | 2015-06-22 13:07:42 -0700
* Allow BTEST_TEST_BASE overriding in alternative configuration.
(Vlad Grigorescu)
* Create README symlink for GitHub rendering. (Vlad Grigorescu)
0.54-1 | 2015-06-18 09:08:34 -0700
* Add support for BTEST_TEST_BASE environment variable for
overriding the test base directory. (Robin Sommer)
0.54 | 2015-03-02 17:22:22 -0800
* Release 0.54.
0.53-6 | 2015-03-02 17:21:26 -0800
* Improve documentation of timing functionality. (Daniel Thayer)
* Add a new section to documentation that lists the BTest
prerequisites. (Daniel Thayer)
* Add warning when btest cannot create timing baseline. (Daniel
Thayer)
0.53-3 | 2015-01-22 07:25:01 -0800
* Fix some typos in the README. (Daniel Thayer)
0.53-1 | 2014-11-11 13:21:10 -0800
* In diagnostics, do not show verbose output for tests known to
fail. (Robin Sommer)
0.53 | 2014-07-22 17:36:24 -0700
* Release 0.53.
0.52-2 | 2014-07-22 17:36:15 -0700
* Update MANIFEST.in and setup.py to fix packaging. (Jon Siwek)
0.52 | 2014-03-13 14:05:44 -0700
* Release 0.52.
0.51-14 | 2014-03-13 14:05:36 -0700
* Fix a link in the README. (Jon Siwek)
0.51-12 | 2014-02-11 16:12:44 -0800
* Work-around for systems reporting that a socket path is too long.
Addresses BIT-862. (Robin Sommer)
0.51-11 | 2014-02-11 15:37:40 -0800
* Fix for Linux systems that have the perf tool but don't support
measuring instructions. (Robin Sommer)
* No longer tracking tests that are expected to fail in state file.
(Robin Sommer)
* Refactoring the timing code to no longer execute at all when not
needed.(Robin Sommer)
0.51-7 | 2014-02-06 21:06:40 -0800
* Fix for platforms that don't support timing measurements yet.
(Robin Sommer)
0.51-6 | 2014-02-06 18:19:08 -0800
* Adding a timing mode that records test execution times per host.
This is for catching regressions (or improvements :) that lets
execution times divert significantly. Linux only for now. See the
README for more information. (Robin Sommer)
* Adding color to test status when writing to console. (Robin Sommer)
* A bit of refactoring to define the status messages ("ok", "failed")
only at a single location.
Also added a note when a test declared as expecting failure in fact
succeeds. (Robin Sommer)