diff --git a/modules.json b/modules.json
index a9c6c52c..4696c359 100644
--- a/modules.json
+++ b/modules.json
@@ -137,7 +137,7 @@
                     },
                     "rtgtools/format": {
                         "branch": "master",
-                        "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
+                        "git_sha": "167a20a2e267261af397e9ea5bf58426e6345ce7",
                         "installed_by": ["modules"]
                     },
                     "rtgtools/pedfilter": {
diff --git a/modules/local/automap/automap/tests/main.nf.test b/modules/local/automap/automap/tests/main.nf.test
new file mode 100644
index 00000000..f19fe051
--- /dev/null
+++ b/modules/local/automap/automap/tests/main.nf.test
@@ -0,0 +1,95 @@
+nextflow_process {
+
+    name "Test Process AUTOMAP_AUTOMAP"
+    script "../main.nf"
+    process "AUTOMAP_AUTOMAP"
+
+    tag "modules"
+    tag "modules_local"
+    tag "automap"
+    tag "automap/automap"
+
+    setup {
+        run("AUTOMAP_REPEATS") {
+            script "../../repeats/main.nf"
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    "hg38"
+                ]
+                """
+            }
+        }
+    }
+
+    test("homo_sapiens - vcf, tbi, repeats, [], hg38") {
+
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', family_samples:"NA24143,NA24149,NA24385", caller:"haplotypecaller" ], // meta map
+                    file(params.famvcf, checkIfExists: true),
+                    file(params.famtbi, checkIfExists: true)
+                ]
+                input[1] = AUTOMAP_REPEATS.out.repeats
+                input[2] = [[],[]]
+                input[3] = "hg38"
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(
+                    process.out.automap.collect { meta, out ->
+                        [
+                            meta,
+                            path(out).list().collect {
+                                it.list().collect {
+                                    "${file(it.toString()).name},variantsMD5:${it.vcf.variantsMD5}"
+                                }
+                            }
+                        ]
+                    },
+                    process.out.versions
+                ).match() }
+            )
+        }
+
+    }
+
+    test("homo_sapiens - vcf, tbi, repeats, [], hg38 - stub") {
+
+        options "-stub"
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', family_samples:"NA24143,NA24149,NA24385", caller:"haplotypecaller" ], // meta map
+                    file(params.famvcf, checkIfExists: true),
+                    file(params.famtbi, checkIfExists: true)
+                ]
+                input[1] = AUTOMAP_REPEATS.out.repeats
+                input[2] = [[],[]]
+                input[3] = "hg38"
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+}
diff --git a/modules/local/automap/automap/tests/main.nf.test.snap b/modules/local/automap/automap/tests/main.nf.test.snap
new file mode 100644
index 00000000..356704a3
--- /dev/null
+++ b/modules/local/automap/automap/tests/main.nf.test.snap
@@ -0,0 +1,109 @@
+{
+    "homo_sapiens - vcf, tbi, repeats, [], hg38": {
+        "content": [
+            [
+                [
+                    {
+                        "id": "test",
+                        "family_samples": "NA24143,NA24149,NA24385",
+                        "caller": "haplotypecaller"
+                    },
+                    [
+                        [
+                            "NA24143.individual.vcf,variantsMD5:d87c6d5aea196c746312a8a383eede4b"
+                        ],
+                        [
+                            "NA24149.individual.vcf,variantsMD5:24eacd6958a767b7768b4282caea52cc"
+                        ],
+                        [
+                            "NA24385.individual.vcf,variantsMD5:f7f27a20139824e3e49cf17a2867489b"
+                        ]
+                    ]
+                ]
+            ],
+            [
+                "versions.yml:md5,8d88bdf05fc6f578d81fee3716f8b562"
+            ]
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-13T17:03:29.44273724"
+    },
+    "homo_sapiens - vcf, tbi, repeats, [], hg38 - stub": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "family_samples": "NA24143,NA24149,NA24385",
+                            "caller": "haplotypecaller"
+                        },
+                        [
+                            [
+                                "sample1.HomRegions.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample1.HomRegions.pdf:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample1.HomRegions.strict.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample1.HomRegions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
+                            ],
+                            [
+                                "sample2.HomRegions.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample2.HomRegions.pdf:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample2.HomRegions.strict.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample2.HomRegions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
+                            ],
+                            [
+                                "sample3.HomRegions.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample3.HomRegions.pdf:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample3.HomRegions.strict.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample3.HomRegions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
+                            ]
+                        ]
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,8d88bdf05fc6f578d81fee3716f8b562"
+                ],
+                "automap": [
+                    [
+                        {
+                            "id": "test",
+                            "family_samples": "NA24143,NA24149,NA24385",
+                            "caller": "haplotypecaller"
+                        },
+                        [
+                            [
+                                "sample1.HomRegions.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample1.HomRegions.pdf:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample1.HomRegions.strict.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample1.HomRegions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
+                            ],
+                            [
+                                "sample2.HomRegions.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample2.HomRegions.pdf:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample2.HomRegions.strict.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample2.HomRegions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
+                            ],
+                            [
+                                "sample3.HomRegions.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample3.HomRegions.pdf:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample3.HomRegions.strict.cmgg_bio.tsv:md5,d41d8cd98f00b204e9800998ecf8427e",
+                                "sample3.HomRegions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e"
+                            ]
+                        ]
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,8d88bdf05fc6f578d81fee3716f8b562"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-13T17:00:28.503010269"
+    }
+}
\ No newline at end of file
diff --git a/modules/local/automap/automap/tests/nextflow.config b/modules/local/automap/automap/tests/nextflow.config
new file mode 100644
index 00000000..ba4da41d
--- /dev/null
+++ b/modules/local/automap/automap/tests/nextflow.config
@@ -0,0 +1,5 @@
+process {
+    withName: "AUTOMAP_AUTOMAP" {
+        ext.args = "--panelname cmgg_bio --multivcf"
+    }
+}
diff --git a/modules/local/automap/repeats/tests/main.nf.test b/modules/local/automap/repeats/tests/main.nf.test
new file mode 100644
index 00000000..94f1ddb6
--- /dev/null
+++ b/modules/local/automap/repeats/tests/main.nf.test
@@ -0,0 +1,58 @@
+nextflow_process {
+
+    name "Test Process AUTOMAP_REPEATS"
+    script "../main.nf"
+    process "AUTOMAP_REPEATS"
+
+    tag "modules"
+    tag "modules_local"
+    tag "automap"
+    tag "automap/repeats"
+
+    test("homo_sapiens - hg38") {
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    "hg38"
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+    test("homo_sapiens - hg38 - stub") {
+
+        options "-stub"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    "hg38"
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+}
diff --git a/modules/local/automap/repeats/tests/main.nf.test.snap b/modules/local/automap/repeats/tests/main.nf.test.snap
new file mode 100644
index 00000000..5f114982
--- /dev/null
+++ b/modules/local/automap/repeats/tests/main.nf.test.snap
@@ -0,0 +1,72 @@
+{
+    "homo_sapiens - hg38": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,74190e74851226329342a3fcae133cdb"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,b5fc7b6bfce18165907357d8966f09d4"
+                ],
+                "repeats": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,74190e74851226329342a3fcae133cdb"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,b5fc7b6bfce18165907357d8966f09d4"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-13T16:31:33.522485317"
+    },
+    "homo_sapiens - hg38 - stub": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,b5fc7b6bfce18165907357d8966f09d4"
+                ],
+                "repeats": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,b5fc7b6bfce18165907357d8966f09d4"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-13T16:31:43.895708133"
+    }
+}
\ No newline at end of file
diff --git a/modules/local/filter_beds/tests/main.nf.test b/modules/local/filter_beds/tests/main.nf.test
new file mode 100644
index 00000000..f139e316
--- /dev/null
+++ b/modules/local/filter_beds/tests/main.nf.test
@@ -0,0 +1,60 @@
+nextflow_process {
+
+    name "Test Process FILTER_BEDS"
+    script "../main.nf"
+    process "FILTER_BEDS"
+
+    tag "modules"
+    tag "modules_local"
+    tag "filter_beds"
+
+    test("homo_sapiens - bed") {
+
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    file(params.bed, checkIfExists:true)
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+    test("homo_sapiens - bed - stub") {
+
+        options "-stub"
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    file(params.bed, checkIfExists:true)
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+}
diff --git a/modules/local/filter_beds/tests/main.nf.test.snap b/modules/local/filter_beds/tests/main.nf.test.snap
new file mode 100644
index 00000000..c4e2ba18
--- /dev/null
+++ b/modules/local/filter_beds/tests/main.nf.test.snap
@@ -0,0 +1,72 @@
+{
+    "homo_sapiens - bed": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,fa245abf8add7a80650566a1de67ec04"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,38ea76fdc8d681b1e47415b195cccd88"
+                ],
+                "bed": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,fa245abf8add7a80650566a1de67ec04"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,38ea76fdc8d681b1e47415b195cccd88"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-13T17:12:06.470648263"
+    },
+    "homo_sapiens - bed - stub": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,38ea76fdc8d681b1e47415b195cccd88"
+                ],
+                "bed": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,38ea76fdc8d681b1e47415b195cccd88"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-13T17:09:43.531020092"
+    }
+}
\ No newline at end of file
diff --git a/modules/local/filter_beds/tests/nextflow.config b/modules/local/filter_beds/tests/nextflow.config
new file mode 100644
index 00000000..1734cd70
--- /dev/null
+++ b/modules/local/filter_beds/tests/nextflow.config
@@ -0,0 +1,4 @@
+process {
+    ext.args = "-vE \"LOW_COVERAGE|NO_COVERAGE\""
+    ext.args2 = "-d 150"
+}
diff --git a/modules/local/merge_beds/tests/main.nf.test b/modules/local/merge_beds/tests/main.nf.test
new file mode 100644
index 00000000..ea07e119
--- /dev/null
+++ b/modules/local/merge_beds/tests/main.nf.test
@@ -0,0 +1,68 @@
+nextflow_process {
+
+    name "Test Process MERGE_BEDS"
+    script "../main.nf"
+    process "MERGE_BEDS"
+
+    tag "modules"
+    tag "modules_local"
+    tag "merge_beds"
+
+    test("homo_sapiens - bed") {
+
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    file(params.bed, checkIfExists:true)
+                ]
+                input[1] = [
+                    [ id:'fai' ],
+                    file(params.fai, checkIfExists:true)
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+    test("homo_sapiens - bed - stub") {
+
+        options "-stub"
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', single_end:false ], // meta map
+                    file(params.bed, checkIfExists:true)
+                ]
+                input[1] = [
+                    [ id:'fai' ],
+                    file(params.fai, checkIfExists:true)
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+}
diff --git a/modules/local/merge_beds/tests/main.nf.test.snap b/modules/local/merge_beds/tests/main.nf.test.snap
new file mode 100644
index 00000000..a6eb4e35
--- /dev/null
+++ b/modules/local/merge_beds/tests/main.nf.test.snap
@@ -0,0 +1,72 @@
+{
+    "homo_sapiens - bed": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,fa245abf8add7a80650566a1de67ec04"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,273f887b675fb5feb6073a5313a191a9"
+                ],
+                "bed": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,fa245abf8add7a80650566a1de67ec04"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,273f887b675fb5feb6073a5313a191a9"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-14T09:49:08.980488978"
+    },
+    "homo_sapiens - bed - stub": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,273f887b675fb5feb6073a5313a191a9"
+                ],
+                "bed": [
+                    [
+                        {
+                            "id": "test",
+                            "single_end": false
+                        },
+                        "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,273f887b675fb5feb6073a5313a191a9"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-14T09:49:17.089675797"
+    }
+}
\ No newline at end of file
diff --git a/modules/local/merge_beds/tests/nextflow.config b/modules/local/merge_beds/tests/nextflow.config
new file mode 100644
index 00000000..4fda00bd
--- /dev/null
+++ b/modules/local/merge_beds/tests/nextflow.config
@@ -0,0 +1,3 @@
+process {
+    ext.args = "-d 150"
+}
diff --git a/modules/local/updio/tests/main.nf.test b/modules/local/updio/tests/main.nf.test
new file mode 100644
index 00000000..50df983e
--- /dev/null
+++ b/modules/local/updio/tests/main.nf.test
@@ -0,0 +1,63 @@
+nextflow_process {
+
+    name "Test Process UPDIO"
+    script "../main.nf"
+    process "UPDIO"
+
+    tag "modules"
+    tag "modules_local"
+    tag "updio"
+
+    test("homo_sapiens - vcf, tbi, []") {
+
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', child:'NA24385' ], // meta map
+                    file(params.famvcf, checkIfExists:true),
+                    file(params.famtbi, checkIfExists:true)
+                ]
+                input[1] = [[],[]]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+    test("homo_sapiens - vcf, tbi, [] - stub") {
+
+        options "-stub"
+        config "./nextflow.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [ id:'test', child:'NA24385' ], // meta map
+                    file(params.famvcf, checkIfExists:true),
+                    file(params.famtbi, checkIfExists:true)
+                ]
+                input[1] = [[],[]]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+}
diff --git a/modules/local/updio/tests/main.nf.test.snap b/modules/local/updio/tests/main.nf.test.snap
new file mode 100644
index 00000000..dc030bb0
--- /dev/null
+++ b/modules/local/updio/tests/main.nf.test.snap
@@ -0,0 +1,92 @@
+{
+    "homo_sapiens - vcf, tbi, [] - stub": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "child": "NA24385"
+                        },
+                        [
+                            "NA24385.events_list:md5,d41d8cd98f00b204e9800998ecf8427e",
+                            "NA24385.log:md5,d41d8cd98f00b204e9800998ecf8427e",
+                            "NA24385.table:md5,d41d8cd98f00b204e9800998ecf8427e",
+                            "NA24385.upd:md5,d41d8cd98f00b204e9800998ecf8427e"
+                        ]
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,8a807f51c31f64de1c707210fabe7029"
+                ],
+                "updio": [
+                    [
+                        {
+                            "id": "test",
+                            "child": "NA24385"
+                        },
+                        [
+                            "NA24385.events_list:md5,d41d8cd98f00b204e9800998ecf8427e",
+                            "NA24385.log:md5,d41d8cd98f00b204e9800998ecf8427e",
+                            "NA24385.table:md5,d41d8cd98f00b204e9800998ecf8427e",
+                            "NA24385.upd:md5,d41d8cd98f00b204e9800998ecf8427e"
+                        ]
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,8a807f51c31f64de1c707210fabe7029"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-14T09:57:26.032830013"
+    },
+    "homo_sapiens - vcf, tbi, []": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test",
+                            "child": "NA24385"
+                        },
+                        [
+                            "NA24385.events_list:md5,4a26c133ef193d31eddfd18dae94f0a0",
+                            "NA24385.log:md5,a40a24f379127a9cde7e40a1ce1032ec",
+                            "NA24385.table:md5,ca8165fc7869a113ca034396de7cf579",
+                            "NA24385.upd:md5,d41d8cd98f00b204e9800998ecf8427e"
+                        ]
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,8a807f51c31f64de1c707210fabe7029"
+                ],
+                "updio": [
+                    [
+                        {
+                            "id": "test",
+                            "child": "NA24385"
+                        },
+                        [
+                            "NA24385.events_list:md5,4a26c133ef193d31eddfd18dae94f0a0",
+                            "NA24385.log:md5,a40a24f379127a9cde7e40a1ce1032ec",
+                            "NA24385.table:md5,ca8165fc7869a113ca034396de7cf579",
+                            "NA24385.upd:md5,d41d8cd98f00b204e9800998ecf8427e"
+                        ]
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,8a807f51c31f64de1c707210fabe7029"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-14T09:57:17.522197249"
+    }
+}
\ No newline at end of file
diff --git a/modules/local/updio/tests/nextflow.config b/modules/local/updio/tests/nextflow.config
new file mode 100644
index 00000000..ed9191f4
--- /dev/null
+++ b/modules/local/updio/tests/nextflow.config
@@ -0,0 +1,3 @@
+process {
+    ext.args = "--childID NA24385 --momID NA24149 --dadID NA24143"
+}
diff --git a/modules/nf-core/rtgtools/format/main.nf b/modules/nf-core/rtgtools/format/main.nf
index 802d3b20..9cae7f99 100644
--- a/modules/nf-core/rtgtools/format/main.nf
+++ b/modules/nf-core/rtgtools/format/main.nf
@@ -46,7 +46,6 @@ process RTGTOOLS_FORMAT {
     """
 
     stub:
-    def args = task.ext.args ?: ''
     def prefix = task.ext.prefix ?: "${meta.id}"
 
     def avail_mem = "3G"
diff --git a/modules/nf-core/rtgtools/format/tests/fastq.config b/modules/nf-core/rtgtools/format/tests/fastq.config
new file mode 100644
index 00000000..24540986
--- /dev/null
+++ b/modules/nf-core/rtgtools/format/tests/fastq.config
@@ -0,0 +1,3 @@
+process {
+    ext.args = "--format fastq"
+}
diff --git a/modules/nf-core/rtgtools/format/tests/main.nf.test b/modules/nf-core/rtgtools/format/tests/main.nf.test
new file mode 100644
index 00000000..d3b39800
--- /dev/null
+++ b/modules/nf-core/rtgtools/format/tests/main.nf.test
@@ -0,0 +1,138 @@
+nextflow_process {
+
+    name "Test Process RTGTOOLS_FORMAT"
+    script "../main.nf"
+    process "RTGTOOLS_FORMAT"
+
+    tag "modules"
+    tag "modules_nfcore"
+    tag "rtgtools"
+    tag "rtgtools/format"
+
+    test("sarscov2 - fasta") {
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [id:'test'],
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true),
+                    [],
+                    []
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(
+                    path(process.out.sdf[0][1]).list().collect { file(it.toString()).name },
+                    process.out.versions
+                ).match() }
+            )
+        }
+
+    }
+
+    test("sarscov2 - fastqs") {
+
+        config "./fastq.config"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [id:'test'],
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true),
+                    []
+                ]
+                """
+            }
+        }
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [id:'test'],
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true),
+                    []
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(
+                    path(process.out.sdf[0][1]).list().collect { file(it.toString()).name },
+                    process.out.versions
+                ).match() }
+            )
+        }
+
+    }
+
+    test("sarscov2 - bam, rg") {
+
+        config "./sam.config"
+
+        when {
+            process {
+                """
+                def rg = Channel.of("@RG\tID:READGROUP1\tSM:SAMPLE\tPL:ILLUMINA")
+                    .collectFile(name:'sam_rg.txt')
+
+                input[0] = Channel.of([
+                    [id:'test'],
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.bam', checkIfExists: true),
+                    []
+                ]).combine(rg)
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(
+                    path(process.out.sdf[0][1]).list().collect { file(it.toString()).name },
+                    process.out.versions
+                ).match() }
+            )
+        }
+
+    }
+
+    test("sarscov2 - fasta - stub") {
+
+        options "-stub"
+
+        when {
+            process {
+                """
+                input[0] = [
+                    [id:'test'],
+                    file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true),
+                    [],
+                    []
+                ]
+                """
+            }
+        }
+
+        then {
+            assertAll(
+                { assert process.success },
+                { assert snapshot(process.out).match() }
+            )
+        }
+
+    }
+
+}
diff --git a/modules/nf-core/rtgtools/format/tests/main.nf.test.snap b/modules/nf-core/rtgtools/format/tests/main.nf.test.snap
new file mode 100644
index 00000000..1494221b
--- /dev/null
+++ b/modules/nf-core/rtgtools/format/tests/main.nf.test.snap
@@ -0,0 +1,118 @@
+{
+    "sarscov2 - fasta - stub": {
+        "content": [
+            {
+                "0": [
+                    [
+                        {
+                            "id": "test"
+                        },
+                        "test.sdf:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "1": [
+                    "versions.yml:md5,2ed5b05daa28126a8c34ab9e30f0f3b5"
+                ],
+                "sdf": [
+                    [
+                        {
+                            "id": "test"
+                        },
+                        "test.sdf:md5,d41d8cd98f00b204e9800998ecf8427e"
+                    ]
+                ],
+                "versions": [
+                    "versions.yml:md5,2ed5b05daa28126a8c34ab9e30f0f3b5"
+                ]
+            }
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-04T16:20:31.290508593"
+    },
+    "sarscov2 - fasta": {
+        "content": [
+            [
+                "done",
+                "format.log",
+                "mainIndex",
+                "nameIndex0",
+                "namedata0",
+                "namepointer0",
+                "progress",
+                "seqdata0",
+                "seqpointer0",
+                "sequenceIndex0",
+                "suffixIndex0",
+                "suffixdata0",
+                "suffixpointer0",
+                "summary.txt"
+            ],
+            [
+                "versions.yml:md5,2ed5b05daa28126a8c34ab9e30f0f3b5"
+            ]
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-05T12:26:34.333493927"
+    },
+    "sarscov2 - fastqs": {
+        "content": [
+            [
+                "done",
+                "format.log",
+                "mainIndex",
+                "nameIndex0",
+                "namedata0",
+                "namepointer0",
+                "progress",
+                "qualitydata0",
+                "seqdata0",
+                "seqpointer0",
+                "sequenceIndex0",
+                "suffixIndex0",
+                "suffixdata0",
+                "suffixpointer0",
+                "summary.txt"
+            ],
+            [
+                "versions.yml:md5,2ed5b05daa28126a8c34ab9e30f0f3b5"
+            ]
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-05T12:26:56.018604071"
+    },
+    "sarscov2 - bam, rg": {
+        "content": [
+            [
+                "done",
+                "format.log",
+                "mainIndex",
+                "nameIndex0",
+                "namedata0",
+                "namepointer0",
+                "progress",
+                "qualitydata0",
+                "seqdata0",
+                "seqpointer0",
+                "sequenceIndex0",
+                "summary.txt"
+            ],
+            [
+                "versions.yml:md5,2ed5b05daa28126a8c34ab9e30f0f3b5"
+            ]
+        ],
+        "meta": {
+            "nf-test": "0.9.1",
+            "nextflow": "24.10.0"
+        },
+        "timestamp": "2024-11-05T12:27:10.103855977"
+    }
+}
\ No newline at end of file
diff --git a/modules/nf-core/rtgtools/format/tests/sam.config b/modules/nf-core/rtgtools/format/tests/sam.config
new file mode 100644
index 00000000..cd57e8b6
--- /dev/null
+++ b/modules/nf-core/rtgtools/format/tests/sam.config
@@ -0,0 +1,3 @@
+process {
+    ext.args = "--format sam-se"
+}
\ No newline at end of file