From c7382e81b2e4fcdb338b821e854d0d2bcfead7fd Mon Sep 17 00:00:00 2001 From: John Chilton Date: Fri, 10 Jul 2026 14:15:53 -0400 Subject: [PATCH 1/2] bacterial-genome-assembly: convert duplicate-keyed asserts to list form MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit YAML silently collapses duplicate mapping keys, so repeated has_text/has_line/has_text_matching entries only ran the last assertion per type. Convert to list form so each assertion runs. This test is currently RED — the previously-dropped assertion(s) do not match tool output. Split out from #1217 to track down individually. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../bacterial_genome_assembly-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml b/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml index 2e57cc1115..2fdad26d03 100644 --- a/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml +++ b/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml @@ -29,7 +29,7 @@ n: 2 tooldistillator_summarize_assembly: asserts: - has_text: + - that: has_text text: "\"Assembly\": \"shovill_contigs_fasta\"" - has_text: + - that: has_text text: "contig00146" From 9d70969146ed22e252f154c1e3969488057ce457 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Fri, 10 Jul 2026 16:47:55 -0400 Subject: [PATCH 2/2] bacterial-genome-assembly: fix never-validated tooldistillator assert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `"Assembly": "shovill_contigs_fasta"` assertion never actually ran. It was added (wf 1.1.9, 0925cf747) as a second `has_text:` key in the same `asserts:` mapping, directly above `has_text: contig00146`. YAML collapses duplicate mapping keys (last wins), so only `contig00146` was ever evaluated — the Assembly assertion was dead from the moment it was written and was never checked against real tool output. Converting the block to list form (this PR series) ran it for the first time, and it failed: tooldistillator's JSON has no `Assembly` key and no `shovill_contigs_fasta` value. The author appears to have guessed the output shape (expecting the input dataset label echoed under `Assembly`). Replace it with a substring that is actually present and preserves the intent — confirming the summary is of the shovill assembly: `"analysis_software_name": "shovill"`. `contig00146` is genuinely in the output and is kept. Caveat: `has_text` substring matching over a serialized JSON document is a poor way to validate structured output — it silently depends on key ordering and whitespace in the serializer and asserts nothing about structure. A structured JSON-property assertion would be more robust; a follow-up could migrate these to that. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../bacterial_genome_assembly-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml b/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml index 2fdad26d03..652ba6b300 100644 --- a/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml +++ b/workflows/genome-assembly/bacterial-genome-assembly/bacterial_genome_assembly-tests.yml @@ -30,6 +30,6 @@ tooldistillator_summarize_assembly: asserts: - that: has_text - text: "\"Assembly\": \"shovill_contigs_fasta\"" + text: "\"analysis_software_name\": \"shovill\"" - that: has_text text: "contig00146"