This is an automated email from the git hooks/post-receive script. tille pushed a commit to branch master in repository htsjdk.
commit 48d1ae35887c69e01340bba7c70bb43345e14617 Author: Andreas Tille <[email protected]> Date: Sun Jul 10 18:55:37 2016 +0200 Exclude more tests --- debian/patches/13-skip_network_tests | 359 +++++++++++++++++++++++++++++++++++ 1 file changed, 359 insertions(+) diff --git a/debian/patches/13-skip_network_tests b/debian/patches/13-skip_network_tests index fe62dcd..67d3e6e 100644 --- a/debian/patches/13-skip_network_tests +++ b/debian/patches/13-skip_network_tests @@ -949,3 +949,362 @@ Last-Updated: 2015-01-06 - } - } } +--- a/src/test/java/htsjdk/samtools/seekablestream/SeekableFTPStreamTest.java ++++ b/src/test/java/htsjdk/samtools/seekablestream/SeekableFTPStreamTest.java +@@ -38,68 +38,6 @@ import java.net.URL; + public class SeekableFTPStreamTest { + + +- static String urlString = "ftp://ftp.broadinstitute.org/pub/igv/TEST/test.txt"; +- static long fileSize = 27; +- static byte[] expectedBytes = "abcdefghijklmnopqrstuvwxyz\n".getBytes(); +- SeekableFTPStream stream; +- +- @BeforeMethod +- public void setUp() throws IOException { +- stream = new SeekableFTPStream(new URL(urlString)); +- +- } +- +- @AfterMethod +- public void tearDown() throws IOException { +- stream.close(); +- } +- +- @Test +- public void testLength() throws Exception { +- long length = stream.length(); +- Assert.assertEquals(fileSize, length); +- } +- +- +- /** +- * Test a buffered read. The buffer is much large than the file size, assert that the desired # of bytes are read +- * +- * @throws Exception +- */ +- @Test +- public void testBufferedRead() throws Exception { +- +- byte[] buffer = new byte[64000]; +- int nRead = stream.read(buffer); +- Assert.assertEquals(fileSize, nRead); +- +- } +- +- /** +- * Test requesting a range that extends beyond the end of the file +- */ +- +- @Test +- public void testRange() throws Exception { +- stream.seek(20); +- byte[] buffer = new byte[64000]; +- int nRead = stream.read(buffer); +- Assert.assertEquals(fileSize - 20, nRead); +- +- } +- +- /** +- * Test requesting a range that begins beyond the end of the file +- */ +- +- @Test +- public void testBadRange() throws Exception { +- stream.seek(30); +- byte[] buffer = new byte[64000]; +- int nRead = stream.read(buffer); +- Assert.assertEquals(-1, nRead); +- } +- + + } + +--- a/src/test/java/htsjdk/samtools/BAMRemoteFileTest.java ++++ b/src/test/java/htsjdk/samtools/BAMRemoteFileTest.java +@@ -42,285 +42,7 @@ import static org.testng.Assert.*; + public class BAMRemoteFileTest { + private final File BAM_INDEX_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam.bai"); + private final File BAM_FILE = new File("src/test/resources/htsjdk/samtools/BAMFileIndexTest/index_test.bam"); +- private final String BAM_URL_STRING = "http://www.broadinstitute.org/~picard/testdata/index_test.bam"; +- private final URL bamURL; + + private final boolean mVerbose = false; + +- public BAMRemoteFileTest() throws Exception { +- bamURL = new URL(BAM_URL_STRING); +- } +- +- +- @Test +- void testRemoteLocal() +- throws Exception { +- runLocalRemoteTest(bamURL, BAM_FILE, "chrM", 10400, 10600, false); +- } +- +- @Test +- public void testSpecificQueries() +- throws Exception { +- assertEquals(runQueryTest(bamURL, "chrM", 10400, 10600, true), 1); +- assertEquals(runQueryTest(bamURL, "chrM", 10400, 10600, false), 2); +- } +- +- @Test(enabled = true) +- public void testRandomQueries() +- throws Exception { +- runRandomTest(bamURL, 20, new Random()); +- } +- +- @Test +- public void testWholeChromosomes() { +- checkChromosome("chrM", 23); +- checkChromosome("chr1", 885); +- checkChromosome("chr2", 837); +- /*** +- checkChromosome("chr3", 683); +- checkChromosome("chr4", 633); +- checkChromosome("chr5", 611); +- checkChromosome("chr6", 585); +- checkChromosome("chr7", 521); +- checkChromosome("chr8", 507); +- checkChromosome("chr9", 388); +- checkChromosome("chr10", 477); +- checkChromosome("chr11", 467); +- checkChromosome("chr12", 459); +- checkChromosome("chr13", 327); +- checkChromosome("chr14", 310); +- checkChromosome("chr15", 280); +- checkChromosome("chr16", 278); +- checkChromosome("chr17", 269); +- checkChromosome("chr18", 265); +- checkChromosome("chr19", 178); +- checkChromosome("chr20", 228); +- checkChromosome("chr21", 123); +- checkChromosome("chr22", 121); +- checkChromosome("chrX", 237); +- checkChromosome("chrY", 29); +- ***/ +- } +- +- +- private void checkChromosome(final String name, final int expectedCount) { +- int count = runQueryTest(bamURL, name, 0, 0, true); +- assertEquals(count, expectedCount); +- count = runQueryTest(bamURL, name, 0, 0, false); +- assertEquals(count, expectedCount); +- } +- +- private void runRandomTest(final URL bamFile, final int count, final Random generator) throws IOException { +- final int maxCoordinate = 10000000; +- final List<String> referenceNames = getReferenceNames(bamFile); +- for (int i = 0; i < count; i++) { +- final String refName = referenceNames.get(generator.nextInt(referenceNames.size())); +- final int coord1 = generator.nextInt(maxCoordinate + 1); +- final int coord2 = generator.nextInt(maxCoordinate + 1); +- final int startPos = Math.min(coord1, coord2); +- final int endPos = Math.max(coord1, coord2); +- System.out.println("Testing query " + refName + ":" + startPos + "-" + endPos + " ..."); +- try { +- runQueryTest(bamFile, refName, startPos, endPos, true); +- runQueryTest(bamFile, refName, startPos, endPos, false); +- } catch (Throwable exc) { +- String message = "Query test failed: " + refName + ":" + startPos + "-" + endPos; +- message += ": " + exc.getMessage(); +- throw new RuntimeException(message, exc); +- } +- } +- } +- +- private List<String> getReferenceNames(final URL bamFile) throws IOException { +- +- +- final SamReader reader = SamReaderFactory.makeDefault().open(SamInputResource.of(bamFile.openStream())); +- +- final List<String> result = new ArrayList<String>(); +- final List<SAMSequenceRecord> seqRecords = reader.getFileHeader().getSequenceDictionary().getSequences(); +- for (final SAMSequenceRecord seqRecord : seqRecords) { +- if (seqRecord.getSequenceName() != null) { +- result.add(seqRecord.getSequenceName()); +- } +- } +- reader.close(); +- return result; +- } +- +- private void runLocalRemoteTest(final URL bamURL, final File bamFile, final String sequence, final int startPos, final int endPos, final boolean contained) { +- verbose("Testing query " + sequence + ":" + startPos + "-" + endPos + " ..."); +- final SamReader reader1 = SamReaderFactory.makeDefault() +- .disable(SamReaderFactory.Option.EAGERLY_DECODE) +- .open(SamInputResource.of(bamFile).index(BAM_INDEX_FILE)); +- final SamReader reader2 = SamReaderFactory.makeDefault() +- .disable(SamReaderFactory.Option.EAGERLY_DECODE) +- .open(SamInputResource.of(bamURL).index(BAM_INDEX_FILE)); +- final Iterator<SAMRecord> iter1 = reader1.query(sequence, startPos, endPos, contained); +- final Iterator<SAMRecord> iter2 = reader2.query(sequence, startPos, endPos, contained); +- +- final List<SAMRecord> records1 = new ArrayList<SAMRecord>(); +- final List<SAMRecord> records2 = new ArrayList<SAMRecord>(); +- +- while (iter1.hasNext()) { +- records1.add(iter1.next()); +- } +- while (iter2.hasNext()) { +- records2.add(iter2.next()); +- } +- +- assertTrue(records1.size() > 0); +- assertEquals(records1.size(), records2.size()); +- for (int i = 0; i < records1.size(); i++) { +- //System.out.println(records1.get(i).format()); +- assertEquals(records1.get(i).getSAMString(), records2.get(i).getSAMString()); +- } +- +- +- } +- +- private int runQueryTest(final URL bamURL, final String sequence, final int startPos, final int endPos, final boolean contained) { +- verbose("Testing query " + sequence + ":" + startPos + "-" + endPos + " ..."); +- final SamReader reader1 = SamReaderFactory.makeDefault() +- .disable(SamReaderFactory.Option.EAGERLY_DECODE) +- .open(SamInputResource.of(bamURL).index(BAM_INDEX_FILE)); +- final SamReader reader2 = SamReaderFactory.makeDefault() +- .disable(SamReaderFactory.Option.EAGERLY_DECODE) +- .open(SamInputResource.of(bamURL).index(BAM_INDEX_FILE)); +- final Iterator<SAMRecord> iter1 = reader1.query(sequence, startPos, endPos, contained); +- final Iterator<SAMRecord> iter2 = reader2.iterator(); +- // Compare ordered iterators. +- // Confirm that iter1 is a subset of iter2 that properly filters. +- SAMRecord record1 = null; +- SAMRecord record2 = null; +- int count1 = 0; +- int count2 = 0; +- int beforeCount = 0; +- int afterCount = 0; +- while (true) { +- if (record1 == null && iter1.hasNext()) { +- record1 = iter1.next(); +- count1++; +- } +- if (record2 == null && iter2.hasNext()) { +- record2 = iter2.next(); +- count2++; +- } +- // System.out.println("Iteration:"); +- // System.out.println(" Record1 = " + ((record1 == null) ? "null" : record1.format())); +- // System.out.println(" Record2 = " + ((record2 == null) ? "null" : record2.format())); +- if (record1 == null && record2 == null) { +- break; +- } +- if (record1 == null) { +- checkPassesFilter(false, record2, sequence, startPos, endPos, contained); +- record2 = null; +- afterCount++; +- continue; +- } +- assertNotNull(record2); +- final int ordering = compareCoordinates(record1, record2); +- if (ordering > 0) { +- checkPassesFilter(false, record2, sequence, startPos, endPos, contained); +- record2 = null; +- beforeCount++; +- continue; +- } +- assertTrue(ordering == 0); +- checkPassesFilter(true, record1, sequence, startPos, endPos, contained); +- checkPassesFilter(true, record2, sequence, startPos, endPos, contained); +- assertEquals(record1.getReadName(), record2.getReadName()); +- assertEquals(record1.getReadString(), record2.getReadString()); +- record1 = null; +- record2 = null; +- } +- CloserUtil.close(reader1); +- CloserUtil.close(reader2); +- verbose("Checked " + count1 + " records against " + count2 + " records."); +- verbose("Found " + (count2 - beforeCount - afterCount) + " records matching."); +- verbose("Found " + beforeCount + " records before."); +- verbose("Found " + afterCount + " records after."); +- return count1; +- } +- +- private void checkPassesFilter(final boolean expected, final SAMRecord record, final String sequence, final int startPos, final int endPos, final boolean contained) { +- final boolean passes = passesFilter(record, sequence, startPos, endPos, contained); +- if (passes != expected) { +- System.out.println("Error: Record erroneously " + +- (passes ? "passed" : "failed") + +- " filter."); +- System.out.println(" Record: " + record.getSAMString()); +- System.out.println(" Filter: " + sequence + ":" + +- startPos + "-" + endPos + +- " (" + (contained ? "contained" : "overlapping") + ")"); +- assertEquals(passes, expected); +- } +- } +- +- private boolean passesFilter(final SAMRecord record, final String sequence, final int startPos, final int endPos, final boolean contained) { +- if (record == null) { +- return false; +- } +- if (!safeEquals(record.getReferenceName(), sequence)) { +- return false; +- } +- final int alignmentStart = record.getAlignmentStart(); +- int alignmentEnd = record.getAlignmentEnd(); +- if (alignmentStart <= 0) { +- assertTrue(record.getReadUnmappedFlag()); +- return false; +- } +- if (alignmentEnd <= 0) { +- // For indexing-only records, treat as single base alignment. +- assertTrue(record.getReadUnmappedFlag()); +- alignmentEnd = alignmentStart; +- } +- if (contained) { +- if (startPos != 0 && alignmentStart < startPos) { +- return false; +- } +- if (endPos != 0 && alignmentEnd > endPos) { +- return false; +- } +- } else { +- if (startPos != 0 && alignmentEnd < startPos) { +- return false; +- } +- if (endPos != 0 && alignmentStart > endPos) { +- return false; +- } +- } +- return true; +- } +- +- private int compareCoordinates(final SAMRecord record1, final SAMRecord record2) { +- final int seqIndex1 = record1.getReferenceIndex(); +- final int seqIndex2 = record2.getReferenceIndex(); +- if (seqIndex1 == -1) { +- return ((seqIndex2 == -1) ? 0 : -1); +- } else if (seqIndex2 == -1) { +- return 1; +- } +- int result = seqIndex1 - seqIndex2; +- if (result != 0) { +- return result; +- } +- result = record1.getAlignmentStart() - record2.getAlignmentStart(); +- return result; +- } +- +- private boolean safeEquals(final Object o1, final Object o2) { +- if (o1 == o2) { +- return true; +- } else if (o1 == null || o2 == null) { +- return false; +- } else { +- return o1.equals(o2); +- } +- } +- +- private void verbose(final String text) { +- if (mVerbose) { +- System.out.println("# " + text); +- } +- } + } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/htsjdk.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
