[med-svn] [Git][med-team/snakemake][debian-v7] 2 commits: Tests: use json not print for consistent formatting.

Rebecca N. Palmer (@rnpalmer-guest) gitlab at salsa.debian.org
Sun Feb 9 18:00:44 GMT 2025



Rebecca N. Palmer pushed to branch debian-v7 at Debian Med / snakemake


Commits:
da5d23a6 by Rebecca N. Palmer at 2025-02-09T17:53:48+00:00
Tests: use json not print for consistent formatting.

- - - - -
2d643f26 by Rebecca N. Palmer at 2025-02-09T18:00:31+00:00
Tests: use svg not pdf for compatibility with graphviz 12.

- - - - -


4 changed files:

- debian/changelog
- + debian/patches/graphviz_compat.patch
- + debian/patches/numpy2compat.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,9 +1,12 @@
-snakemake (7.32.4-7) UNRELEASED; urgency=medium
+snakemake (7.32.4-7) unstable; urgency=medium
 
   * Tests: treat more tests as flaky (try 3 times),
-    use pytest-timeout not faulthandler_timeout for flaky tests.
+    use pytest-timeout not faulthandler_timeout for flaky tests
+    (together, these work around #1095394),
+    use json not print for consistent formatting,
+    use svg not pdf for compatibility with graphviz 12.
 
- -- Rebecca N. Palmer <rebecca_palmer at zoho.com>  Sun, 09 Feb 2025 16:43:24 +0000
+ -- Rebecca N. Palmer <rebecca_palmer at zoho.com>  Sun, 09 Feb 2025 17:58:52 +0000
 
 snakemake (7.32.4-6) unstable; urgency=medium
 


=====================================
debian/patches/graphviz_compat.patch
=====================================
@@ -0,0 +1,32 @@
+Description: use svg not pdf for graph test
+
+graphviz 12 dot does not offer pdf
+
+Author: Rebecca N. Palmer <rebecca_palmer at zoho.com>
+Forwarded: no
+
+--- a/tests/tests.py
++++ b/tests/tests.py
+@@ -1384,7 +1384,7 @@ def test_issue1281():
+ def test_filegraph():
+     workdir = dpath("test_filegraph")
+     dot_path = os.path.join(workdir, "fg.dot")
+-    pdf_path = os.path.join(workdir, "fg.pdf")
++    svg_path = os.path.join(workdir, "fg.svg")
+ 
+     if ON_WINDOWS:
+         shell.executable("bash")
+@@ -1395,10 +1395,10 @@ def test_filegraph():
+     shell("cd {workdir}; python3 -m snakemake --filegraph > {dot_path}")
+ 
+     # make sure the output can be interpreted by dot
+-    shell("cd {workdir}; dot -Tpdf > {pdf_path} < {dot_path}")
++    shell("cd {workdir}; dot -Tsvg > {svg_path} < {dot_path}")
+ 
+-    # make sure the generated pdf file is not empty
+-    assert os.stat(pdf_path).st_size > 0
++    # make sure the generated svg file is not empty
++    assert os.stat(svg_path).st_size > 0
+ 
+ 
+ def test_batch():


=====================================
debian/patches/numpy2compat.patch
=====================================
@@ -0,0 +1,249 @@
+Description: Use json.dump not print in test_paramspace*
+
+This is for formatting consistency, allowing numpy 1 and 2 to share
+a reference (Debian doesn't actually need that, but upstream
+probably do): numpy 2 scalars print() as np.float64(3.9) format,
+while older ones print() as plain 3.9 format
+
+Origin: part of upstream 2edc2f0f029e2f6bcb1c71f65a904cac6af8e4ee
+Author: Johannes Köster
+Forwarded: not-needed
+
+--- a/tests/test_paramspace/expected-results/results/default/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
++++ b/tests/test_paramspace/expected-results/results/default/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/default/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
++++ b/tests/test_paramspace/expected-results/results/default/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/empty/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
++++ b/tests/test_paramspace/expected-results/results/empty/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/empty/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
++++ b/tests/test_paramspace/expected-results/results/empty/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/filenamesep/simulations/alpha~1__beta~0.1__gamma~0.99.tsv
++++ b/tests/test_paramspace/expected-results/results/filenamesep/simulations/alpha~1__beta~0.1__gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/filenamesep/simulations/alpha~2__beta~0.0__gamma~3.9.tsv
++++ b/tests/test_paramspace/expected-results/results/filenamesep/simulations/alpha~2__beta~0.0__gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/full/simulations/alpha~1_beta~0.1_gamma~0.99.tsv
++++ b/tests/test_paramspace/expected-results/results/full/simulations/alpha~1_beta~0.1_gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/full/simulations/alpha~2_beta~0.0_gamma~3.9.tsv
++++ b/tests/test_paramspace/expected-results/results/full/simulations/alpha~2_beta~0.0_gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/full_reorder/simulations/beta~0.0_gamma~3.9_alpha~2.tsv
++++ b/tests/test_paramspace/expected-results/results/full_reorder/simulations/beta~0.0_gamma~3.9_alpha~2.tsv
+@@ -1 +1 @@
+-{'beta': 0.0, 'gamma': 3.9, 'alpha': 2}
++{"beta": 0.0, "gamma": 3.9, "alpha": 2}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/full_reorder/simulations/beta~0.1_gamma~0.99_alpha~1.tsv
++++ b/tests/test_paramspace/expected-results/results/full_reorder/simulations/beta~0.1_gamma~0.99_alpha~1.tsv
+@@ -1 +1 @@
+-{'beta': 0.1, 'gamma': 0.99, 'alpha': 1}
++{"beta": 0.1, "gamma": 0.99, "alpha": 1}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/one/simulations/alpha~1/gamma~0.99/beta~0.1.tsv
++++ b/tests/test_paramspace/expected-results/results/one/simulations/alpha~1/gamma~0.99/beta~0.1.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'gamma': 0.99, 'beta': 0.1}
++{"alpha": 1, "gamma": 0.99, "beta": 0.1}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/one/simulations/alpha~2/gamma~3.9/beta~0.0.tsv
++++ b/tests/test_paramspace/expected-results/results/one/simulations/alpha~2/gamma~3.9/beta~0.0.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'gamma': 3.9, 'beta': 0.0}
++{"alpha": 2, "gamma": 3.9, "beta": 0.0}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/sep/simulations/alpha_is_1/beta_is_0.1/gamma_is_0.99.tsv
++++ b/tests/test_paramspace/expected-results/results/sep/simulations/alpha_is_1/beta_is_0.1/gamma_is_0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/sep/simulations/alpha_is_2/beta_is_0.0/gamma_is_3.9.tsv
++++ b/tests/test_paramspace/expected-results/results/sep/simulations/alpha_is_2/beta_is_0.0/gamma_is_3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/sep_and_pattern/simulations/beta=0.0_gamma=3.9_alpha=2.tsv
++++ b/tests/test_paramspace/expected-results/results/sep_and_pattern/simulations/beta=0.0_gamma=3.9_alpha=2.tsv
+@@ -1 +1 @@
+-{'beta': 0.0, 'gamma': 3.9, 'alpha': 2}
++{"beta": 0.0, "gamma": 3.9, "alpha": 2}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/sep_and_pattern/simulations/beta=0.1_gamma=0.99_alpha=1.tsv
++++ b/tests/test_paramspace/expected-results/results/sep_and_pattern/simulations/beta=0.1_gamma=0.99_alpha=1.tsv
+@@ -1 +1 @@
+-{'beta': 0.1, 'gamma': 0.99, 'alpha': 1}
++{"beta": 0.1, "gamma": 0.99, "alpha": 1}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/two/simulations/alpha~1/beta~0.1_gamma~0.99.tsv
++++ b/tests/test_paramspace/expected-results/results/two/simulations/alpha~1/beta~0.1_gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace/expected-results/results/two/simulations/alpha~2/beta~0.0_gamma~3.9.tsv
++++ b/tests/test_paramspace/expected-results/results/two/simulations/alpha~2/beta~0.0_gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace/scripts/simulate.py
++++ b/tests/test_paramspace/scripts/simulate.py
+@@ -1,2 +1,5 @@
++import json
++
+ with open(snakemake.output[0], "w") as out:
+-    print(snakemake.params.simulation, file=out)
+\ No newline at end of file
++    # convert numpy types to native python types for serialization
++    json.dump({k: v.item() for k, v in snakemake.params.simulation.items()}, out)
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/default/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/default/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/default/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/default/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/empty/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/empty/simulations/alpha~1/beta~0.1/gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/empty/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/empty/simulations/alpha~2/beta~0.0/gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/filenamesep/simulations/alpha~1__beta~0.1__gamma~0.99.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/filenamesep/simulations/alpha~1__beta~0.1__gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/filenamesep/simulations/alpha~2__beta~0.0__gamma~3.9.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/filenamesep/simulations/alpha~2__beta~0.0__gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/full/simulations/alpha~1_beta~0.1_gamma~0.99.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/full/simulations/alpha~1_beta~0.1_gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/full/simulations/alpha~2_beta~0.0_gamma~3.9.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/full/simulations/alpha~2_beta~0.0_gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/full_reorder/simulations/beta~0.0_gamma~3.9_alpha~2.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/full_reorder/simulations/beta~0.0_gamma~3.9_alpha~2.tsv
+@@ -1 +1 @@
+-{'beta': 0.0, 'gamma': 3.9, 'alpha': 2}
++{"beta": 0.0, "gamma": 3.9, "alpha": 2}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/full_reorder/simulations/beta~0.1_gamma~0.99_alpha~1.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/full_reorder/simulations/beta~0.1_gamma~0.99_alpha~1.tsv
+@@ -1 +1 @@
+-{'beta': 0.1, 'gamma': 0.99, 'alpha': 1}
++{"beta": 0.1, "gamma": 0.99, "alpha": 1}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/one/simulations/alpha~1/gamma~0.99/beta~0.1.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/one/simulations/alpha~1/gamma~0.99/beta~0.1.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'gamma': 0.99, 'beta': 0.1}
++{"alpha": 1, "gamma": 0.99, "beta": 0.1}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/one/simulations/alpha~2/gamma~3.9/beta~0.0.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/one/simulations/alpha~2/gamma~3.9/beta~0.0.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'gamma': 3.9, 'beta': 0.0}
++{"alpha": 2, "gamma": 3.9, "beta": 0.0}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/sep/simulations/alpha_is_1/beta_is_0.1/gamma_is_0.99.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/sep/simulations/alpha_is_1/beta_is_0.1/gamma_is_0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/sep/simulations/alpha_is_2/beta_is_0.0/gamma_is_3.9.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/sep/simulations/alpha_is_2/beta_is_0.0/gamma_is_3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/sep_and_pattern/simulations/beta=0.0_gamma=3.9_alpha=2.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/sep_and_pattern/simulations/beta=0.0_gamma=3.9_alpha=2.tsv
+@@ -1 +1 @@
+-{'beta': 0.0, 'gamma': 3.9, 'alpha': 2}
++{"beta": 0.0, "gamma": 3.9, "alpha": 2}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/sep_and_pattern/simulations/beta=0.1_gamma=0.99_alpha=1.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/sep_and_pattern/simulations/beta=0.1_gamma=0.99_alpha=1.tsv
+@@ -1 +1 @@
+-{'beta': 0.1, 'gamma': 0.99, 'alpha': 1}
++{"beta": 0.1, "gamma": 0.99, "alpha": 1}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/two/simulations/alpha~1/beta~0.1_gamma~0.99.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/two/simulations/alpha~1/beta~0.1_gamma~0.99.tsv
+@@ -1 +1 @@
+-{'alpha': 1, 'beta': 0.1, 'gamma': 0.99}
++{"alpha": 1, "beta": 0.1, "gamma": 0.99}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/expected-results/results/two/simulations/alpha~2/beta~0.0_gamma~3.9.tsv
++++ b/tests/test_paramspace_single_wildcard/expected-results/results/two/simulations/alpha~2/beta~0.0_gamma~3.9.tsv
+@@ -1 +1 @@
+-{'alpha': 2, 'beta': 0.0, 'gamma': 3.9}
++{"alpha": 2, "beta": 0.0, "gamma": 3.9}
+\ No newline at end of file
+--- a/tests/test_paramspace_single_wildcard/scripts/simulate.py
++++ b/tests/test_paramspace_single_wildcard/scripts/simulate.py
+@@ -1,2 +1,5 @@
++import json
++
+ with open(snakemake.output[0], "w") as out:
+-    print(snakemake.params.simulation, file=out)
+\ No newline at end of file
++    # convert numpy types to native python types for serialization
++    json.dump({k: v.item() for k, v in snakemake.params.simulation.items()}, out)
+\ No newline at end of file


=====================================
debian/patches/series
=====================================
@@ -21,3 +21,5 @@ fstring.patch
 test_solver.patch
 test_extra_time.patch
 no_pkg_resources.patch
+numpy2compat.patch
+graphviz_compat.patch



View it on GitLab: https://salsa.debian.org/med-team/snakemake/-/compare/cb1f185e0855dcc5f4a9166cda95ec6641fe32d3...2d643f26a44968ad98f8fe3e543e9a38fecec6b1

-- 
View it on GitLab: https://salsa.debian.org/med-team/snakemake/-/compare/cb1f185e0855dcc5f4a9166cda95ec6641fe32d3...2d643f26a44968ad98f8fe3e543e9a38fecec6b1
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20250209/783e08b5/attachment-0001.htm>


More information about the debian-med-commit mailing list