Eco-Flow/synteny

Implement nf-test in synteny pipeline

Closed this issue · 4 comments

Implement nf-test in synteny pipeline

First issue encountered:
Command:
nf-test generate process modules/download_ncbi.nf

Error:
General error during conversion: Unsupported class file major version 65

Solution:
Looking at a GitHub Issue I had to downgrade openjdk version to 17:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-21.jdk
brew install openjdk@17
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

Now nf-test generate process modules/download_ncbi.nf works!

Snapshot problems:
When using snapshot it generates a path on the machine where the test took place so may not be optimal for testing, I will used md5sums to evaluate instead

When using error strategy retry you need to evaluate or statements for the number of retried processes when evaluating the trace file:
assert process.trace.tasks().size() == 1 || process.trace.tasks().size() == 2 || process.trace.tasks().size() == 3

Interestingly due to how pdfs are formed: having a timestamp in their metadata, it is impossible to md5sum check them as they are regenerated each time and therefore timestamp of generation changes in metadata which changes md5sum