From: Debian Med Packaging Team Date: Sun, 2 Oct 2022 09:41:36 +0000 (+0200) Subject: Truncate ex2.bam irrespective of its size X-Git-Tag: archive/raspbian/0.22.0+ds-1+rpi1~1^2^2^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f4a32d44d70adb5a795f7f69f58e3ec42dbc18c2;p=python-pysam.git Truncate ex2.bam irrespective of its size Bug: https://github.com/pysam-developers/pysam/issues/1128 Applied-Upstream: 56b1624c21b02762fdcea3aa5f657a4152ca178e Reviewed-by: Étienne Mollier Last-Update: 2022-10-02 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. Last-Update: 2022-10-02 Gbp-Pq: Name test-truncated-bam.patch --- diff --git a/tests/pysam_data/Makefile b/tests/pysam_data/Makefile index aa82031..52d9352 100644 --- a/tests/pysam_data/Makefile +++ b/tests/pysam_data/Makefile @@ -70,7 +70,7 @@ ex1.pileup.gz:ex1.bam ex1.fa 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