Merge pull request #638 from broadinstitute/vrr_createTempFile_testfix

Changed File.createTempFile to BaseTest.createTempFile calls Test
This commit is contained in:
Valentin Ruano Rubio 2014-05-29 10:15:05 -04:00
commit db96891d4b
14 changed files with 48 additions and 118 deletions

View File

@ -54,7 +54,10 @@ import org.testng.annotations.Test;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.*;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import static org.testng.Assert.assertTrue;
@ -119,9 +122,8 @@ public class AnalyzeCovariatesIntegrationTest extends WalkerTest {
@Test(enabled = true)
public void testPdfGeneration()
throws IOException {
final File pdfFile = File.createTempFile("ACTest",".pdf");
final File pdfFile = createTempFile("ACTest", ".pdf");
pdfFile.delete();
pdfFile.deleteOnExit();
final List<String> md5 = Collections.emptyList();
final WalkerTestSpec spec = new WalkerTestSpec(
@ -144,10 +146,8 @@ public class AnalyzeCovariatesIntegrationTest extends WalkerTest {
final String description)
throws IOException {
final File pdfFile = File.createTempFile("ACTest",".pdf");
pdfFile.deleteOnExit();
final List<String> md5 = Collections.emptyList();
final File afterFile = new File(TEST_DATA_DIR,afterFileName);
afterFile.deleteOnExit();
final WalkerTestSpec spec = new WalkerTestSpec(
buildCommandLine(null,"%s",true,true,afterFile),
1,UserException.IncompatibleRecalibrationTableParameters.class);
@ -258,16 +258,8 @@ public class AnalyzeCovariatesIntegrationTest extends WalkerTest {
final boolean useBQSRFile, final boolean useBeforeFile, final boolean useAfterFile)
throws IOException {
final File csvFile = useCsvFile ? File.createTempFile("ACTest",".csv") : null;
final File pdfFile = usePdfFile ? File.createTempFile("ACTest",".pdf") : null;
if (csvFile != null) {
csvFile.deleteOnExit();
}
if (pdfFile != null) {
pdfFile.deleteOnExit();
}
final File csvFile = useCsvFile ? createTempFile("ACTest",".csv") : null;
final File pdfFile = usePdfFile ? createTempFile("ACTest",".pdf") : null;
return buildCommandLine(csvFile == null ? null : csvFile.toString(),
pdfFile == null ? null : pdfFile.toString(),

View File

@ -46,8 +46,8 @@
package org.broadinstitute.gatk.tools.walkers.haplotypecaller;
import htsjdk.variant.variantcontext.Allele;
import org.broadinstitute.gatk.tools.walkers.haplotypecaller.readthreading.HaplotypeGraph;
import org.broadinstitute.gatk.utils.Utils;
import org.broadinstitute.gatk.utils.collections.Pair;
import org.broadinstitute.gatk.utils.genotyper.PerReadAlleleLikelihoodMap;
import org.broadinstitute.gatk.utils.haplotype.Haplotype;
@ -57,18 +57,11 @@ import org.broadinstitute.gatk.utils.pairhmm.FlexibleHMM;
import org.broadinstitute.gatk.utils.pairhmm.PairHMM;
import org.broadinstitute.gatk.utils.sam.ClippedGATKSAMRecord;
import org.broadinstitute.gatk.utils.sam.GATKSAMRecord;
import htsjdk.variant.variantcontext.Allele;
import org.testng.Assert;
import org.testng.Reporter;
import org.testng.SkipException;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
/**
@ -86,29 +79,6 @@ public class ReadThreadingLikelihoodCalculationEngineUnitTest extends ActiveRegi
private static FlexibleHMM hmm = new FastLoglessPairHMM((byte)10);
// for debugging purposes:
private static final boolean DUMP_LIKELIHOODS = false;
private PrintWriter likelihoodDumpWriter = null;
private File likelihoodDumpFile = null;
@BeforeClass
private void setUp() throws IOException {
if (DUMP_LIKELIHOODS) {
likelihoodDumpFile = File.createTempFile("rtlce-test", ".txt");
Reporter.log("Dumping Likelihoods in file '" + likelihoodDumpFile + "'",true);
likelihoodDumpWriter = new PrintWriter(likelihoodDumpFile);//new FileWriter(f));
}
}
@AfterClass
private void tearDown() throws IOException {
if (DUMP_LIKELIHOODS) {
likelihoodDumpWriter.close();
Reporter.log("Dumped Likelihoods in file '" + likelihoodDumpFile + "'", true);
}
}
@Test(dataProvider="activeRegionTestDataSets",enabled=false)
public void testActiveRegionsDataSet(final ActiveRegionTestDataSet as, final int kmerSize, final int readLength, final String variation, final int readCount, final int regionSize, final byte bq, final byte iq, final byte dq) {
super.testActiveRegionsDataSet(as,kmerSize,readLength,variation,readCount,regionSize,bq,iq,dq);
@ -156,7 +126,6 @@ public class ReadThreadingLikelihoodCalculationEngineUnitTest extends ActiveRegi
final double loglessDiff = loglessA1Lk - loglessA2Lk;
final double graphDiff = graphA1Lk - graphA2Lk;
final double epsilon = calculateEpsilon(graphDiff,loglessDiff);
dumpLikelihoods(read,loglessA1Lk,loglessA2Lk,graphA1Lk,graphA2Lk,read.getReadString() + " " + a1.getBaseString() + " " + a2.getBaseString());
Assert.assertEquals(graphDiff,loglessDiff,epsilon,String.format("Delta(%f,%f) = %f > %f",graphDiff,loglessDiff,Math.abs(graphDiff - loglessDiff),epsilon));
}
@ -252,11 +221,6 @@ public class ReadThreadingLikelihoodCalculationEngineUnitTest extends ActiveRegi
return false;
}
private void dumpLikelihoods(final GATKSAMRecord read, final Double loglessA1lk, final Double loglessA2lk, final Double a1lk, final Double a2lk, final String hapString) {
if (!DUMP_LIKELIHOODS) return;
likelihoodDumpWriter.println(Utils.join("\t","" + loglessA1lk,"" + loglessA2lk,"" + a1lk,"" + a2lk,read.getReadName(),read.getReadString(),hapString));
likelihoodDumpWriter.flush();
}
@DataProvider(name="readLikekihoodRatioTestData")
public Iterator<Object[]> readLikelihoodRatioTestDataSets() {

View File

@ -273,16 +273,14 @@ public class BaseGraphUnitTest extends BaseTest {
@Test
public void testPrintEmptyGraph() throws Exception {
final File tmp = File.createTempFile("tmp", "dot");
tmp.deleteOnExit();
final File tmp = createTempFile("tmp", "dot");
new SeqGraph(11).printGraph(tmp, 10);
new TestGraph().printGraph(tmp, 10);
}
@Test
public void testComplexGraph() throws Exception {
final File tmp = File.createTempFile("tmp", "dot");
tmp.deleteOnExit();
final File tmp = createTempFile("tmp", "dot");
graph.printGraph(tmp, 10);
}

View File

@ -63,7 +63,7 @@ public class VCFStreamingIntegrationTest extends WalkerTest {
@Test
public void testSimpleVCFStreaming() throws IOException {
// Create a FIFO. This seems to be the only way to create an interprocess FIFO in Java (java.nio.Pipe is intraprocess only).
File tmpFifo = File.createTempFile("vcfstreaming","");
File tmpFifo = createTempFile("vcfstreaming", "");
Runtime.getRuntime().exec(new String[] {"mkfifo",tmpFifo.getAbsolutePath()});
@ -93,7 +93,7 @@ public class VCFStreamingIntegrationTest extends WalkerTest {
@Test
public void testVCFStreamingChain() throws IOException {
// Create a FIFO. This seems to be the only way to create an interprocess FIFO in Java (java.nio.Pipe is intraprocess only).
File tmpFifo = File.createTempFile("vcfstreaming","");
File tmpFifo = createTempFile("vcfstreaming","");
Runtime.getRuntime().exec(new String[] {"mkfifo",tmpFifo.getAbsolutePath()});
String testFile = privateTestDir + "yri.trio.gatk.ug.head.vcf";

View File

@ -113,8 +113,7 @@ public class ReadMetricsUnitTest extends BaseTest {
}
private void createBAM(final List<GATKSAMRecord> reads) throws IOException {
testBAM = File.createTempFile("TraverseActiveRegionsUnitTest", ".bam");
testBAM.deleteOnExit();
testBAM = createTempFile("TraverseActiveRegionsUnitTest", ".bam");
SAMFileWriter out = new SAMFileWriterFactory().setCreateIndex(true).makeBAMWriter(reads.get(0).getHeader(), true, testBAM);
for (GATKSAMRecord read : reads ) {

View File

@ -26,23 +26,21 @@
package org.broadinstitute.gatk.engine.datasources.reads;
import htsjdk.samtools.*;
import org.broadinstitute.gatk.utils.BaseTest;
import org.broadinstitute.gatk.utils.commandline.Tags;
import org.broadinstitute.gatk.engine.arguments.ValidationExclusion;
import org.broadinstitute.gatk.engine.downsampling.DownsampleType;
import org.broadinstitute.gatk.engine.downsampling.DownsamplingMethod;
import org.broadinstitute.gatk.engine.filters.ReadFilter;
import org.broadinstitute.gatk.engine.resourcemanagement.ThreadAllocation;
import org.broadinstitute.gatk.utils.BaseTest;
import org.broadinstitute.gatk.utils.GenomeLocParser;
import org.broadinstitute.gatk.utils.exceptions.ReviewedGATKException;
import org.broadinstitute.gatk.utils.commandline.Tags;
import org.broadinstitute.gatk.utils.sam.ArtificialSAMUtils;
import org.broadinstitute.gatk.utils.sam.ArtificialSingleSampleReadStream;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import org.testng.Assert;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@ -154,14 +152,7 @@ public class ReadShardBalancerUnitTest extends BaseTest {
150,
numUnmappedReads);
File testBAMFile;
try {
testBAMFile = File.createTempFile("SAMDataSourceFillShardBoundaryTest", ".bam");
testBAMFile.deleteOnExit();
}
catch ( IOException e ) {
throw new ReviewedGATKException(String.format("Failed to create temp bam file for test %s. %s", this, e.getMessage()));
}
final File testBAMFile = createTempFile("SAMDataSourceFillShardBoundaryTest", ".bam");
SAMFileWriter bamWriter = new SAMFileWriterFactory().setCreateIndex(true).makeBAMWriter(header, true, testBAMFile);
for ( SAMRecord read : artificialReads ) {

View File

@ -129,9 +129,8 @@ public class RMDTrackBuilderUnitTest extends BaseTest {
*/
private File createTempVCFFileAndIndex( final File vcfFile, final boolean createOutOfDateIndex ) {
try {
final File tmpFile = File.createTempFile("RMDTrackBuilderUnitTest", "");
final File tmpFile = createTempFile("RMDTrackBuilderUnitTest", "");
final File tmpIndex = Tribble.indexFile(tmpFile);
tmpFile.deleteOnExit();
tmpIndex.deleteOnExit();
copyFile(vcfFile, tmpFile);

View File

@ -133,8 +133,7 @@ public class TraverseActiveRegionsUnitTest extends BaseTest {
}
private void createBAM(List<GATKSAMRecord> reads) throws IOException {
testBAM = File.createTempFile("TraverseActiveRegionsUnitTest", ".bam");
testBAM.deleteOnExit();
testBAM = createTempFile("TraverseActiveRegionsUnitTest", ".bam");
SAMFileWriter out = new SAMFileWriterFactory().setCreateIndex(true).makeBAMWriter(reads.get(0).getHeader(), true, testBAM);
for (GATKSAMRecord read : ReadUtils.sortReadsByCoordinate(reads)) {

View File

@ -25,26 +25,25 @@
package org.broadinstitute.gatk.engine.walkers;
import org.apache.commons.lang.StringUtils;
import htsjdk.tribble.Tribble;
import htsjdk.tribble.index.Index;
import htsjdk.tribble.index.IndexFactory;
import htsjdk.tribble.index.tabix.TabixFormat;
import htsjdk.tribble.util.TabixUtils;
import htsjdk.variant.bcf2.BCF2Utils;
import htsjdk.variant.vcf.VCFCodec;
import org.apache.commons.lang.StringUtils;
import org.broadinstitute.gatk.engine.CommandLineExecutable;
import org.broadinstitute.gatk.engine.CommandLineGATK;
import org.broadinstitute.gatk.engine.GenomeAnalysisEngine;
import org.broadinstitute.gatk.engine.phonehome.GATKRunReport;
import org.broadinstitute.gatk.utils.BaseTest;
import org.broadinstitute.gatk.utils.MD5DB;
import org.broadinstitute.gatk.utils.MD5Mismatch;
import org.broadinstitute.gatk.utils.Utils;
import org.broadinstitute.gatk.utils.classloader.JVMUtils;
import org.broadinstitute.gatk.engine.CommandLineExecutable;
import org.broadinstitute.gatk.engine.CommandLineGATK;
import org.broadinstitute.gatk.engine.GenomeAnalysisEngine;
import org.broadinstitute.gatk.engine.phonehome.GATKRunReport;
import htsjdk.variant.bcf2.BCF2Utils;
import org.broadinstitute.gatk.utils.collections.Pair;
import htsjdk.variant.vcf.VCFCodec;
import org.broadinstitute.gatk.utils.exceptions.ReviewedGATKException;
import org.broadinstitute.gatk.utils.exceptions.GATKException;
import org.broadinstitute.gatk.utils.exceptions.ReviewedGATKException;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeMethod;
@ -449,7 +448,7 @@ public class WalkerTest extends BaseTest {
}
protected File createTempFileFromBase(String name) {
protected File createTempFileFromBase(final String name) {
File fl = new File(name);
fl.deleteOnExit();
return fl;

View File

@ -67,12 +67,6 @@ public class DepthOfCoverageB36IntegrationTest extends WalkerTest {
}
}
public File createTempFileFromBase(String name) {
File fl = new File(name);
fl.deleteOnExit();
return fl;
}
@Test
public void testMapQ0Only() {
String[] intervals = {"1:10,000,000-10,002,000","1:10,003,000-10,004,000"};
@ -83,7 +77,7 @@ public class DepthOfCoverageB36IntegrationTest extends WalkerTest {
WalkerTestSpec spec = new WalkerTestSpec(cmd,0,new ArrayList<String>());
// our base file
File baseOutputFile = this.createTempFile("depthofcoveragemapq0",".tmp");
final File baseOutputFile = createTempFile("depthofcoveragemapq0",".tmp");
spec.setOutputFileLocation(baseOutputFile);
spec.addAuxFile("f39af6ad99520fd4fb27b409ab0344a0",baseOutputFile);
@ -100,13 +94,13 @@ public class DepthOfCoverageB36IntegrationTest extends WalkerTest {
@Test
public void testLotsOfSamples() {
String[] intervals = {"1:1105290-1105295"};
String[] bams = {"/humgen/gsa-hpprojects/GATK/data/Validation_Data/pilot3.CEU+TSI.5loci.bam"};
String cmd = buildRootCmd(b36KGReference, new ArrayList<String>(Arrays.asList(bams)), new ArrayList<String>(Arrays.asList(intervals)));
final String[] intervals = {"1:1105290-1105295"};
final String[] bams = {"/humgen/gsa-hpprojects/GATK/data/Validation_Data/pilot3.CEU+TSI.5loci.bam"};
final String cmd = buildRootCmd(b36KGReference, new ArrayList<String>(Arrays.asList(bams)), new ArrayList<String>(Arrays.asList(intervals)));
WalkerTestSpec spec = new WalkerTestSpec(cmd,0,new ArrayList<String>());
final WalkerTestSpec spec = new WalkerTestSpec(cmd,0,new ArrayList<String>());
File baseOutputFile = this.createTempFile("testManySamples",".tmp");
final File baseOutputFile = createTempFile("testManySamples",".tmp");
spec.setOutputFileLocation(baseOutputFile);
spec.addAuxFile("c9561b52344536d2b06ab97b0bb1a234",baseOutputFile);

View File

@ -69,14 +69,14 @@ public class DepthOfCoverageIntegrationTest extends WalkerTest {
@Test
public void testBaseOutputNoFiltering() {
String[] intervals = {"/humgen/gsa-hpprojects/GATK/data/Validation_Data/fhs_jhs_30_targts.interval_list"};
String[] bams = {"/humgen/gsa-hpprojects/GATK/data/Validation_Data/FHS_indexed_subset.bam"};
final String[] intervals = {"/humgen/gsa-hpprojects/GATK/data/Validation_Data/fhs_jhs_30_targts.interval_list"};
final String[] bams = {"/humgen/gsa-hpprojects/GATK/data/Validation_Data/FHS_indexed_subset.bam"};
String cmd = buildRootCmd(hg18Reference,new ArrayList<String>(Arrays.asList(bams)),new ArrayList<String>(Arrays.asList(intervals))) + " -mmq 0 -mbq 0 -dels -baseCounts -pt readgroup -pt sample -pt library --outputFormat csv -ct 10 -ct 15 -ct 20 -ct 25";
WalkerTestSpec spec = new WalkerTestSpec(cmd,0, new ArrayList<String>());
final String cmd = buildRootCmd(hg18Reference,new ArrayList<>(Arrays.asList(bams)),new ArrayList<>(Arrays.asList(intervals))) + " -mmq 0 -mbq 0 -dels -baseCounts -pt readgroup -pt sample -pt library --outputFormat csv -ct 10 -ct 15 -ct 20 -ct 25";
final WalkerTestSpec spec = new WalkerTestSpec(cmd,0, new ArrayList<String>());
// our base file
File baseOutputFile = this.createTempFile("depthofcoveragenofiltering",".tmp");
final File baseOutputFile = createTempFile("depthofcoveragenofiltering",".tmp");
spec.setOutputFileLocation(baseOutputFile);
// now add the expected files that get generated
@ -111,7 +111,7 @@ public class DepthOfCoverageIntegrationTest extends WalkerTest {
String cmd = buildRootCmd(hg18Reference,new ArrayList<String>(Arrays.asList(bams)),new ArrayList<String>(Arrays.asList(intervals))) + " -mmq 0 -mbq 5 --maxBaseQuality 4 -dels -baseCounts -pt readgroup -pt sample -pt library --outputFormat csv";
WalkerTestSpec spec = new WalkerTestSpec(cmd,0, new ArrayList<String>());
File baseOutputFile = this.createTempFile("depthofcoveragenofiltering",".tmp");
File baseOutputFile = createTempFile("depthofcoveragenofiltering",".tmp");
spec.setOutputFileLocation(baseOutputFile);
spec.addAuxFile("6ccd7d8970ba98cb95fe41636a070c1c",baseOutputFile);

View File

@ -289,9 +289,9 @@ public abstract class BaseTest {
* @param extension Extension to concat to the end of the file.
* @return A file in the temporary directory starting with name, ending with extension, which will be deleted after the program exits.
*/
public static File createTempFile(String name, String extension) {
public static File createTempFile(final String name, final String extension) {
try {
File file = File.createTempFile(name, extension);
final File file = File.createTempFile(name, extension);
file.deleteOnExit();
// Mark corresponding indices for deletion on exit as well just in case an index is created for the temp file:

View File

@ -90,8 +90,7 @@ public class RodBindingCollectionUnitTest extends BaseTest {
@Test
public void testDefaultTagsInFile() throws IOException {
final File testFile = File.createTempFile("RodBindingCollectionUnitTest.defaultTags", ".list");
testFile.deleteOnExit();
final File testFile = createTempFile("RodBindingCollectionUnitTest.defaultTags", ".list");
final FileWriter writer = new FileWriter(testFile);
writer.write(testVCFFileName, 0, testVCFFileName.length());
writer.close();
@ -109,8 +108,7 @@ public class RodBindingCollectionUnitTest extends BaseTest {
@Test(expectedExceptions = UserException.BadArgumentValue.class)
public void testDuplicateEntriesInFile() throws IOException {
final File testFile = File.createTempFile("RodBindingCollectionUnitTest.variantListWithDuplicates", ".list");
testFile.deleteOnExit();
final File testFile = createTempFile("RodBindingCollectionUnitTest.variantListWithDuplicates", ".list");
final FileWriter writer = new FileWriter(testFile);
writer.write(testVCFFileName + "\n");
writer.write(testVCFFileName + "\n");
@ -121,16 +119,14 @@ public class RodBindingCollectionUnitTest extends BaseTest {
@Test(expectedExceptions = UserException.BadArgumentValue.class)
public void testValidateEmptyFile() throws IOException {
final File testFile = File.createTempFile("RodBindingCollectionUnitTest.emptyVCFList", ".list");
testFile.deleteOnExit();
final File testFile = createTempFile("RodBindingCollectionUnitTest.emptyVCFList", ".list");
ArgumentTypeDescriptor.getRodBindingsCollection(testFile, parsingEngine, VariantContext.class, "foo", mytags, "input");
}
@Test
public void testOverrideTagsInFile() throws IOException {
final File testFile = File.createTempFile("RodBindingCollectionUnitTest.overrideTags", ".list");
testFile.deleteOnExit();
final File testFile = createTempFile("RodBindingCollectionUnitTest.overrideTags", ".list");
final FileWriter writer = new FileWriter(testFile);
final String textToWrite = "foo " + testVCFFileName;
writer.write(textToWrite, 0, textToWrite.length());

View File

@ -143,8 +143,7 @@ public class ListFileUtilsUnitTest extends BaseTest {
}
private File createTempListFile( String tempFilePrefix, String... lines ) throws Exception {
File tempListFile = File.createTempFile(tempFilePrefix, ".list");
tempListFile.deleteOnExit();
File tempListFile = createTempFile(tempFilePrefix, ".list");
PrintWriter out = new PrintWriter(tempListFile);
for ( String line : lines ) {