Skip to content

Fix evaluation script on invalid arguments instead of exiting 0#1515

Merged
lfoppiano merged 2 commits into
masterfrom
fix/eval-invalid-args-exit-code
Jul 22, 2026
Merged

Fix evaluation script on invalid arguments instead of exiting 0#1515
lfoppiano merged 2 commits into
masterfrom
fix/eval-invalid-args-exit-code

Conversation

@lfoppiano

Copy link
Copy Markdown
Member

EndToEndEvaluation.main() validated its arguments and then returned, so the JVM exited 0. Gradle reported BUILD SUCCESSFUL, run_evaluation.sh saw a successful build, and the only symptom was the missing markdown report - reported as "report not found after successful build", which points at the report rather than at the argument that was rejected.

Reproduced with -PfileRatio=article/light-ref: "Invalid argument fileRatio, must be a double" on stderr, BUILD SUCCESSFUL, exit 0.

Every validation bail-out in main() now exits 1, so the failure surfaces where it happens.

Two related traps, same shape:

  • An unrecognised flavor fell back to the default process with only an informational message, so the evaluation silently measured something other than what was asked for and the report gave no hint. A non-empty flavor that does not resolve is now an error listing the known flavors. An absent or empty flavor still means the default.

  • run_evaluation.sh's -f is the file ratio; the flavor is -l. Passing a flavor to -f was accepted and only failed much later. -f is now validated, and a value containing '/' suggests -l instead.

EndToEndEvaluation.main() validated its arguments and then returned, so
the JVM exited 0. Gradle reported BUILD SUCCESSFUL, run_evaluation.sh
saw a successful build, and the only symptom was the missing markdown
report - reported as "report not found after successful build", which
points at the report rather than at the argument that was rejected.

Reproduced with `-PfileRatio=article/light-ref`: "Invalid argument
fileRatio, must be a double" on stderr, BUILD SUCCESSFUL, exit 0.

Every validation bail-out in main() now exits 1, so the failure surfaces
where it happens.

Two related traps, same shape:

- An unrecognised flavor fell back to the default process with only an
  informational message, so the evaluation silently measured something
  other than what was asked for and the report gave no hint. A non-empty
  flavor that does not resolve is now an error listing the known
  flavors. An absent or empty flavor still means the default.

- run_evaluation.sh's -f is the file ratio; the flavor is -l. Passing a
  flavor to -f was accepted and only failed much later. -f is now
  validated, and a value containing '/' suggests -l instead.
@lfoppiano lfoppiano added this to the 0.9.1 milestone Jul 21, 2026
@lfoppiano
lfoppiano changed the base branch from master to feature/refactor-tei-formatter July 21, 2026 20:19
@lfoppiano
lfoppiano changed the base branch from feature/refactor-tei-formatter to master July 21, 2026 20:27
Signed-off-by: Luca Foppiano <luca@foppiano.org>
@lfoppiano
lfoppiano force-pushed the fix/eval-invalid-args-exit-code branch from 55a54e3 to 1797200 Compare July 21, 2026 21:42
@lfoppiano
lfoppiano merged commit 7dd09b5 into master Jul 22, 2026
30 of 31 checks passed
@lfoppiano
lfoppiano deleted the fix/eval-invalid-args-exit-code branch July 22, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant