Open Mingun opened 3 months ago
Moved from https://github.com/kaitai-io/kaitai_ci_ui/issues because this issue effectively doesn't point out anything wrong in https://github.com/kaitai-io/kaitai_ci_ui - the CI dashboard app only presents test result data, but this is an inconsistency in test result data, i.e. in the overall "testing infrastructure".
even marked as passed for C++ and graphvis
No, only for GraphViz. In C++, the generated source files corresponding to cast_to_imported{,2}.ksy
failed to build (cast_to_imported.cpp
errors, cast_to_imported2.cpp
errors), so that's one reason why their rows are displayed. Another reason is that GraphViz reports them as passed
, because they're not explicitly excluded in TextListParser
(BTW, this BLACK_LIST
is IMHO quite well hidden, I just stumbled upon it relatively recently).
Ideally speaking, I think (probably like you) that in the end CI dashboard shouldn't display rows that don't represent actual tests (what this really means is that they should be omitted from ci.json
files, not just "hidden" by any CI dashboard display logic which doesn't have enough information to decide that anyway). But the detection of real tests should be automatic, the BLACK_LIST
in TextListParser
is a terrible idea (we can see how it doesn't work at all in the long run, because no one ever remembered at the right time that this list exists and needs to be updated). Unfortunately, our testing system doesn't allow for easy detection whether a generated source file corresponds to a test or not (a naive idea might be to check whether the relevant spec/ks/{name}.kst
file exists, but we have tests that don't use .kst
but are instead implemented manually in unit test specs for each target language, because they need to use asserts that cannot be expressed using KST).
The spec
cast_to_imported.kst
was removed in https://github.com/kaitai-io/kaitai_struct_tests/commit/83624da6cb4ed2047c85346f6e7a97bead8e4a93#diff-645011c80deef943326f24c0cbf570ba4fcb97b7627bb89ea2fd22d4fb9f4ea1 (2024-04-01), but is still presented in list of tests in https://ci.kaitai.io/ and even marked as passed for C++ and graphvis. The dashboard was updated 2024-04-03 after that deletion has been performed. So the question, why that results are still there?