vaadin-bench.sh does custom option parsing, glob selection, YAML filtering,
temporary config generation and command construction, with no focused tests.
The visible symptom, on main today:
$ ./vaadin-bench.sh -c
./vaadin-bench.sh: line 238: $2: unbound variable
An internal set -u failure rather than a usage error. Note the validation that
does exist is good — -k abc correctly says --attempts wants a positive integer, got 'abc' — so the gap is specifically an option present with its value missing.
Worth covering:
- every option given without its value
- selection:
-c/-m/-t globs, substring matching for models, a pattern that
matches nothing in one configuration but not others (select_optional)
- the
-- pass-through
- temporary-file cleanup on success and on failure
- local validation of
--attempts, --concurrent, --timeout-multiplier
select_optional and check_recordings are both recent and both untested; the
first decides which trials run, the second gates the run entirely.
From the initial codebase review (finding 4). Findings 1, 2, 3 and 5 from that
review are closed by #11.
vaadin-bench.shdoes custom option parsing, glob selection, YAML filtering,temporary config generation and command construction, with no focused tests.
The visible symptom, on
maintoday:An internal
set -ufailure rather than a usage error. Note the validation thatdoes exist is good —
-k abccorrectly says--attempts wants a positive integer, got 'abc'— so the gap is specifically an option present with its value missing.Worth covering:
-c/-m/-tglobs, substring matching for models, a pattern thatmatches nothing in one configuration but not others (
select_optional)--pass-through--attempts,--concurrent,--timeout-multiplierselect_optionalandcheck_recordingsare both recent and both untested; thefirst decides which trials run, the second gates the run entirely.
From the initial codebase review (finding 4). Findings 1, 2, 3 and 5 from that
review are closed by #11.