Commit Graph

71 Commits

Author SHA1 Message Date
Moritz Bunkus
fd6627d760
tests: use Unix-style line endings when writing results.txt 2021-07-06 20:27:41 +02:00
Moritz Bunkus
15962e1b10
tests: don't hardcode path to temporary directory 2021-07-06 20:27:41 +02:00
Moritz Bunkus
0a96f4a19b
tests: use centralize MD5 generation functions 2021-07-06 20:27:41 +02:00
Moritz Bunkus
b0bbcc7a87
tests: Windows: run commands through explicit bash & temp shell script
Makes some of the commands work on Windows where system is cmd.exe
2021-07-06 20:27:41 +02:00
Moritz Bunkus
f681458bfc
tests: provide global vars distinguishing platforms 2021-07-06 20:27:41 +02:00
Moritz Bunkus
4ab5d81ce1
tests: fix determining number of processors on non-macOS 2021-07-06 20:27:39 +02:00
Moritz Bunkus
0a2cb7d1bd
tests: support skipping tests for certain build configurations 2021-04-09 18:06:57 +02:00
Moritz Bunkus
686cc15da4
tests: add options for excluding certain tests 2021-04-08 00:06:03 +02:00
Moritz Bunkus
12284bf662
tests: prevent updating results if results contain 'failed' 2021-03-20 13:15:22 +01:00
Moritz Bunkus
ed191adb2f
tests: option :post_args for adding args at the end of the command line 2021-03-14 19:19:44 +01:00
Moritz Bunkus
f0243659d2
ID result: use constexpr instead of #defines 2021-02-21 14:04:54 +01:00
Ofir Petrushka
962088f59c style: rubocop Style/Encoding
Fix Style/Encoding by rubocop

Signed-off-by: Cody Coder <cody.coder@gitcodebuddy.com>
2020-10-07 11:58:06 +11:00
Moritz Bunkus
943fefe237
tests: run from fastest to slowest 2020-04-02 18:26:31 +02:00
Moritz Bunkus
b519eadbd0
mkvmerge: option for creating byte-identical files (--deterministic)
Implements #2698.
2019-12-28 13:37:59 +01:00
Moritz Bunkus
901e49b049
mm_file_io_c: don't flush on close by default
When closing files that were opened for writing, cached data will not
be flushed to storage automatically anymore. This reverts the
workaround implemented for #2469. A new option was added to both
programs (`--flush-on-close`) that re-enables flushing for people who
are affected by data loss such as described in #2469.

The reason is that automatic flushing causes long delays in processing
queues when the output by mkvmerge/mkvextract isn't the final product but
just an intermediate result to be processed further.

Implements #2480.
2019-01-10 22:05:34 +01:00
Moritz Bunkus
d672c35354
tests: switch to mkvextract's new syntax 2018-11-16 09:51:30 +01:00
Moritz Bunkus
df79a16c64 tests: utility function for reading doc type (read) version elements 2018-03-10 13:53:57 +01:00
Moritz Bunkus
ae7a2fccfc test runner: don't remove trailing 0 when outputting failed IDs 2018-03-10 12:47:55 +01:00
Moritz Bunkus
4a92b442dd test runner: avoid implicit conversion from nil to String 2018-03-08 21:03:24 +01:00
Moritz Bunkus
08ef5f6460 test runner: require all Gems from the main program 2018-03-07 10:05:50 +01:00
Moritz Bunkus
ffb32a657b all: remove deprecated features
The features removed are:

* mkvmerge: the options `--identify-verbose` (and its counterpart
  `-I`), `--identify-for-gui`, `--identify-for-mmg` and
  `--identification-format verbose-text`
* all command line tools: the old, proprietary format used for option
  files
* all command line tools: support for passing command line options via the
  environment variables `MKVTOOLNIX_OPTIONS`, `MKVEXTRACT_OPTIONS`,
  `MKVINFO_OPTIONS`, `MKVMERGE_OPTIONS`, and `MKVPROPEDIT_OPTIONS`
2017-12-22 16:02:58 +01:00
Moritz Bunkus
2866cbab0c tests: fix error propagation for simple test's merge function 2017-10-07 15:00:00 +02:00
Moritz Bunkus
932fc8f8bd tests: mark certain commands as not to produce a hash result
This is used by the controller to determine which commands to prefix
with (*) markers in case of test failure.
2017-08-12 10:51:33 +02:00
Moritz Bunkus
9282f65953 tests: don't record ebml_validator calls in old test classes 2017-08-12 10:51:33 +02:00
Moritz Bunkus
0bf1e14100 identification: output stream_id & sub_stream_id as integers; drop ts_pid 2017-06-22 20:04:40 +02:00
Moritz Bunkus
c69f3e73d7 JSON identification: include transport stream program number, bump version to 7 2017-05-22 17:52:59 +02:00
Moritz Bunkus
243b70a03f tests: use "--engage no_variable_data" during identification 2017-04-15 18:46:43 +02:00
Moritz Bunkus
cda730b29e tests: use JSON identification instead of verbose identification format 2017-01-22 11:30:56 +01:00
Moritz Bunkus
dcf7b15939 mkvmerge: include codec delay in identification output as "codec_delay" 2017-01-07 12:46:08 +01:00
Moritz Bunkus
9ddf2595b2 mkvmerge: add identification info about multiplexed tracks
This adds a new track property in JSON/verbose identification mode
called "multiplexed_tracks". It's an array of track IDs that describe
which of the tracks mkvmerge reports as separate ones were originally
part of the same source track (e.g. TrueHD+AC-3 in a single track in
MPEG transport streams).

Implements #1835.
2016-12-26 20:31:49 +01:00
Moritz Bunkus
4442cd5673 MPEG TS: rewrite packet parsing
The old code was pretty convoluted and hard to reason about. On top of
that it didn't buffer PES packets properly before trying to parse the
PES headers. This lead to accesses beyond the end of the buffer.
2016-07-09 17:24:20 +02:00
Moritz Bunkus
0094e3ffa2 tests: add option for listing all failed case IDs 2016-05-13 19:46:12 +02:00
Moritz Bunkus
1569bc3d5a simple_test class: ignore non-hashing command in error output 2016-05-04 12:48:14 +02:00
Moritz Bunkus
95dd536fe6 tests: remove debug output 2016-04-09 18:10:22 +02:00
Moritz Bunkus
db45155c02 test 449: only test for success, not for content
Some of the sub-tests in 449 have to work with uninitialized data due to
the file structure errors in the source files. Therefore the data's
content may actually change from run to run. Such a change was triggered
with change f82360d. Therefore only test whether or not muxing succeeds
for those sub-tests, not what the actual content looks like.
2016-04-09 18:08:02 +02:00
Moritz Bunkus
c8ba161c8e mkvmerge: add track's minimum timestamp to identification output for Matroska
Frontends like gMKVExtractGUI currently use mkvinfo for determining the
offset between tracks. This is an attempt to provide that information
with mkvmerge.
2016-04-02 16:17:36 +02:00
Moritz Bunkus
f21b7ca87d test base class: method for identifying file & returning parsed JSON 2016-03-27 15:00:12 +02:00
Moritz Bunkus
c9eb86f88d mkvmerge: fix "playlist_file" type in JSON output
"playlist_file" must be an array of strings, not a single string. In
verbose identification output mode this property has always been output
multiple times. In JSON only one of those was actually output, the last
one. Additionally the JSON schema didn't contain "playlist_file" at all.
2016-01-31 13:30:25 +01:00
Moritz Bunkus
1cdbe9215e tests: fix output of end timestamp 2015-12-31 13:17:49 +01:00
Moritz Bunkus
4d81aa099c tests: show start & end date of the whole run 2015-12-31 13:16:24 +01:00
Moritz Bunkus
c967c6771a SimpleTest: fix hashing the wrong file in test_merge if output: is given 2015-12-29 14:09:05 +01:00
Moritz Bunkus
a3a25225c6 mkvmerge: output warnings/errors as JSON in JSON identification mode
Implements #1537.
2015-12-16 21:58:51 +01:00
Moritz Bunkus
de4734f962 doc: change identification JSON schema file name to contain version number
That will make distinguishing between and validating the various versions
easier.
2015-12-16 21:53:28 +01:00
Moritz Bunkus
f1e4055e3e tests: add test case for mkvmerge's JSON identification output 2015-12-07 22:49:41 +01:00
Moritz Bunkus
31bc8633d4 SimpleTest class: avoid a couple of warnings 2015-11-03 20:40:13 +01:00
Moritz Bunkus
56357aa31c tests: run ebml_validator after mkvpropedit if it exists 2015-02-23 20:37:31 +01:00
Moritz Bunkus
1ed847332e simple_test.rb: use %r{…} regex syntax 2015-02-03 07:58:01 +01:00
Moritz Bunkus
8f4f7eae52 tests: add test case for segfaults/assertions from bug 1089 2014-12-19 19:55:30 +01:00
Moritz Bunkus
30af0c578a tests: add SimpleTest#test_info method 2014-12-16 17:08:39 +01:00
Moritz Bunkus
ad45d0aa76 tests: add String#md5 method 2014-03-10 20:02:51 +01:00