Commit b745920961bd44cbe3ded956c7b79f47c142b118
1 parent
5c5b4e64
Allow specific performance tests to be run
Showing
2 changed files
with
24 additions
and
1 deletions
ChangeLog
performance_check
| ... | ... | @@ -50,7 +50,7 @@ my $default_iterations = 20; |
| 50 | 50 | |
| 51 | 51 | sub usage |
| 52 | 52 | { |
| 53 | - die " | |
| 53 | + warn " | |
| 54 | 54 | Usage: $whoami [ args ] |
| 55 | 55 | --dir dir test on all files in dir (default: $default_test_dir) |
| 56 | 56 | --file file test only on the named file |
| ... | ... | @@ -58,15 +58,23 @@ Usage: $whoami [ args ] |
| 58 | 58 | --workdir where to write output pdfs (default: $default_workdir) |
| 59 | 59 | --maxtime maximum time for a test; 0 means unlimited (default: $default_maxtime) |
| 60 | 60 | --iterations number of iterations (default: $default_iterations) |
| 61 | + --test regexp run only tests that match specified pattern | |
| 61 | 62 | |
| 62 | 63 | Populate $test_dir with files you want to use for performance |
| 63 | 64 | benchmarking. PDF files and qpdf JSON files are allowed. The qpdf |
| 64 | 65 | release process uses a clone of |
| 65 | 66 | https://github.com/qpdf/performance-test-files for this purpose. |
| 66 | 67 | |
| 68 | +Tests: | |
| 67 | 69 | "; |
| 70 | + foreach my $t (@tests) | |
| 71 | + { | |
| 72 | + warn " $t->[0]\n"; | |
| 73 | + } | |
| 74 | + exit 2; | |
| 68 | 75 | } |
| 69 | 76 | |
| 77 | +my $test_re = undef; | |
| 70 | 78 | while (@ARGV) |
| 71 | 79 | { |
| 72 | 80 | my $arg = shift(@ARGV); |
| ... | ... | @@ -102,6 +110,11 @@ while (@ARGV) |
| 102 | 110 | usage() unless @ARGV; |
| 103 | 111 | $iterations = shift(@ARGV); |
| 104 | 112 | } |
| 113 | + elsif ('--test' eq $arg) | |
| 114 | + { | |
| 115 | + usage() unless @ARGV; | |
| 116 | + $test_re = shift(@ARGV); | |
| 117 | + } | |
| 105 | 118 | else |
| 106 | 119 | { |
| 107 | 120 | usage(); |
| ... | ... | @@ -233,6 +246,11 @@ sub run_tests |
| 233 | 246 | foreach my $test (@tests) |
| 234 | 247 | { |
| 235 | 248 | my ($name, $args) = @$test; |
| 249 | + if ((defined $test_re) && $name !~ m/$test_re/) | |
| 250 | + { | |
| 251 | + print " skipping test $name\n"; | |
| 252 | + next; | |
| 253 | + } | |
| 236 | 254 | print " test: $name\n"; |
| 237 | 255 | $args = filter_args($args); |
| 238 | 256 | if (! defined $args) | ... | ... |