Commit Graph

56 Commits

Author SHA1 Message Date
Moritz Bunkus
15962e1b10
tests: don't hardcode path to temporary directory 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
0a2cb7d1bd
tests: support skipping tests for certain build configurations 2021-04-09 18:06:57 +02: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
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
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
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
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
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
a0e01bd962 test framework: sys returns both the output and the exit code 2013-12-18 22:22:27 +01:00
Moritz Bunkus
661ca07a1b Tests: fail if mkvmerge doesn't support specific locale 2013-10-26 16:04:32 +02:00
Moritz Bunkus
92812907f7 Tests: unify and simplify UI locale test scripts 2013-10-26 14:06:04 +02:00
Moritz Bunkus
a44d8364c8 AVC/h.264 output: use modified AVCC in packetized code path
Fixes #868.
2013-04-27 17:45:27 +02:00
Moritz Bunkus
8a6533dbcd Tests: output commands if $DEBUG is set 2013-02-16 15:28:19 +01:00
Moritz Bunkus
2e12bbf5b9 Add test case for mkvpropedit with attachments 2012-09-02 12:26:25 +02:00
Moritz Bunkus
a9be17c8a6 Add option to filter mkvinfo's output for test cases 2012-05-06 19:27:06 +02:00
Moritz Bunkus
a7dabdfe72 Take packet duration into account for calculating discarded duration
Fixes #742.
2012-04-08 10:19:17 +02:00
Moritz Bunkus
b70c55c9df Capture and return program messages output for further analysis by tests 2012-03-26 09:28:42 +02:00
Moritz Bunkus
b50fc2f5a3 Helper function for running mkvinfo in SimpleTests 2012-03-08 09:37:28 +01:00
Moritz Bunkus
4ec424c95a Use full_command_line for muxing 2012-03-07 20:03:29 +01:00
Moritz Bunkus
36be4e172e Simple test helper function for unsupported container formats 2012-03-04 17:52:50 +01:00
Moritz Bunkus
6e47d6592d Added a Czech translation 2012-02-07 09:36:16 +01:00
Moritz Bunkus
f0b0ec70c7 Create SimpleTest classes on the fly instead of using class variables in the base class
...which doesn't work if more than one test is run simultaneously.
2012-01-31 18:59:27 +01:00