test-truncated-bam.patch: added; fix test truncated BAM failure.
authorÉtienne Mollier <emollier@debian.org>
Sun, 2 Oct 2022 09:24:57 +0000 (11:24 +0200)
committerÉtienne Mollier <emollier@debian.org>
Sun, 2 Oct 2022 09:24:57 +0000 (11:24 +0200)
Thanks: John Marshall

debian/patches/series
debian/patches/test-truncated-bam.patch [new file with mode: 0644]

index 43ee38595c16e3f1c81ef0d1514da8ca9eb787f0..87dc4c2985bdd7c0b53f8b973e5b0bb604faa713 100644 (file)
@@ -1,3 +1,4 @@
 skip_test_remote.patch
 clean_less
 skip-test-on-32-bit.patch
+test-truncated-bam.patch
diff --git a/debian/patches/test-truncated-bam.patch b/debian/patches/test-truncated-bam.patch
new file mode 100644 (file)
index 0000000..ae282ba
--- /dev/null
@@ -0,0 +1,28 @@
+Description: Truncate ex2.bam irrespective of its size
+ The Makefile also builds ex2.bam from ex2.sam via `samtools view`.
+ Samtools as traditionally built using zlib typically generates a
+ 124703-byte file, whereas when built using libdeflate it typically
+ generates a 122804-byte file -- but `head -c 124000` leaves that unchanged
+ and the test cases fail because ex2_truncated.bam is unexpectedly valid.
+ .
+ Rewrite the truncation rule to remove the final 512 bytes, irrespective
+ of ex2.bam's length. (No practical compression will reduce it to less
+ than 512 bytes in total, so this is safe.) Fixes #1128.
+Author: John Marshall
+Bug: https://github.com/pysam-developers/pysam/issues/1128
+Applied-Upstream: 56b1624c21b02762fdcea3aa5f657a4152ca178e
+Reviewed-by: Étienne Mollier <emollier@debian.org>
+Last-Update: 2022-10-02
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- python-pysam.orig/tests/pysam_data/Makefile
++++ python-pysam/tests/pysam_data/Makefile
+@@ -70,7 +70,7 @@
+               samtools mpileup -f ex1.fa ex1.bam | gzip > ex1.pileup.gz
+ ex2_truncated.bam: ex2.bam
+-      head -c 124000 ex2.bam > ex2_truncated.bam
++      dd if=ex2.bam of=ex2_truncated.bam bs=$$((`wc -c < ex2.bam`-512)) count=1
+ # Append a corrupt read with block_size < sizeof(bam_core_t fields)
+ ex2_corrupt.bam: ex2.bam