Anyone know why the tests here pass when they shou...
# modules
m
Anyone know why the tests here pass when they shouldn't? https://github.com/nf-core/modules/pull/11072 The module has it's inputs changed, but for some reason the affected nf-tests which use the module in setup pass fine without the inputs being updated.
âś… 1
đź‘€ 1
m
So we really are going with output suffix as an input value?
m
At least to me, it's better than ext.suffix. A pipeline user cannot mess with it unless permitted. It's controlled by the pipeline developer and the suffix is explicit in the process call instead of hidden in some config file under a bunch of
includeConfig
m
I see your point
@Simon Pearce?
m
│ WARN: Unknown directive
params
for process
GNU_SORT
│
│ WARN: Input tuple does not match tuple declaration in process
GNU_SORT
-- offending value: [[id:gtf], /nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.gtf] │
So it seems
tuple
cardinality mismatches are only warnings and not errors.
m
Iep, but the output of the tests should have been different, no?
m
No, the outputs should still be the same unless something else happened, like they were using the wrong config, etc
There are some tests where we haven't been catching things like no file that should be there, or the wrong config is there because of copy-paste, etc
m
Yeah, so failing tests are still failing
m
These things aren't caught sometimes so the tests pass
Is there a reason not to use
nextflow.enable.strict = true
on nf-core modules tests?
party this 3
m
I think we should do this on the script we're modifying on the PRs
âť“ 1
What I meant was, similarly to how we only lint and test the scripts we modify, I think we should try strict only on them too
but wait, haven't we fully converted the repo to strict?
m
Why not add it to the nf-test.config so it applies to all?
but wait, haven't we fully converted the repo to strict?
no idea
m
@Louis Le Nézet I have a feeling you're the person to ask about that
m
I think there's two things. Strict linting, and this other strict, and modules were converted for the strict syntax
So then perhaps with Nextflow 26 these would be flagged as errors.
đź’Ż 1
100 rainbow 1
l
Normally the whole modules repository is now nextflow strict syntax compliant. But I only tested it with 25.04.
m
I also had a bunch of sub-workflows / pipelines where I was passing the wrong number of argument, and nothing told me so until I ran the pipeline. Like @Mahesh Binzer-Panchal I though the original
strict
flag would be turned on by default in recent Nextflow but it isn’t, or would be embedded in the strict linter, but it isn’t either, and the flag is in fact deprecated.
I have a feeling that records / types will be the solution for checking the number of args
l
That's what I find out this morning. The
nextflow.enable.strict
flag for running the test would have been nice to implement in the test.
m
👍 1