-
Notifications
You must be signed in to change notification settings - Fork 716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simple pipeline level nf-tests #1272
Conversation
Additions: - Runs simple tests for workflows - Directly replaces existing tests in .github/workflows - No checks for outputs or contents
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tests/tests/default/
?
why not tests/default/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason is to keep it tidy. You have a primary tests/
folder with tests
, lib
and other stuff (e.g. conf
).
tests
├── lib
│ └── UTILS.groovy
├── nextflow.config
└── tests
├── default
│ ├── main.nf.test
│ └── main.nf.test.snap
├── featurecounts
│ └── main.nf.test
├── min_mapped_reads
│ └── main.nf.test
├── remove_ribo_rna
│ └── main.nf.test
├── skip_qc
│ └── main.nf.test
└── skip_trimming
└── main.nf.test
Without it, you would end up with this which I think is messy:
tests
├── default
│ ├── main.nf.test
│ └── main.nf.test.snap
├── featurecounts
│ └── main.nf.test
├── lib
│ └── UTILS.groovy
├── min_mapped_reads
│ └── main.nf.test
├── nextflow.config
├── remove_ribo_rna
│ └── main.nf.test
├── skip_qc
│ └── main.nf.test
└── skip_trimming
└── main.nf.test
But I could be convinced otherwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could move the tests/nextflow.config
file into tests/config/nextflow.config
for consistency?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd go with:
tests
├── default.main.nf.test
├── default.main.nf.test.snap
├── featurecounts.main.nf.test
├── lib
│ └── UTILS.groovy
├── min_mapped_reads.main.nf.test
├── nextflow.config
├── remove_ribo_rna.main.nf.test
├── skip_qc.main.nf.test
└── skip_trimming.main.nf.test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh bother automerge was too quick.
We made it! 🥳 |
The role of this PR is to open a discussion on how to organise and run pipeline level tests.
I have directly replaced the existing tests with simple tests which change a single parameter and check for succesful completion, no snaps, no hashes etc. That can come later.
In this PR I'd like to discuss test organisation, naming, handling etc. I've tried my best to make it simple and easy to understand while being flexible enough to work efficiently, let me know what you think.