Skip to content

Commit

Permalink
Use temp dirs for test repositories.
Browse files Browse the repository at this point in the history
  • Loading branch information
jdswinbank committed Aug 6, 2017
1 parent 32a3f02 commit 5f0ece1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 27 deletions.
6 changes: 5 additions & 1 deletion tests/test_butlerPickle.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

import pickle
import unittest
import shutil
import tempfile
import lsst.utils.tests
import os

Expand All @@ -48,11 +50,13 @@ class ButlerPickleTestCase(unittest.TestCase):
localTypeNameIsAliasOf = "x"

def setUp(self):
self.butler = dafPersist.Butler(root='.', mapper=MinMapper)
self.tempRoot = tempfile.mkdtemp()
self.butler = dafPersist.Butler(root=self.tempRoot, mapper=MinMapper)
self.butler.defineAlias(self.localTypeName, self.localTypeNameIsAliasOf)

def tearDown(self):
del self.butler
shutil.rmtree(self.tempRoot, ignore_errors=True)

def checkIO(self, butler, bbox, ccd):
butler.put(bbox, self.localTypeName, ccd=ccd)
Expand Down
41 changes: 15 additions & 26 deletions tests/test_butlerSubset.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

import os
import pickle
import shutil
import tempfile
import lsst.daf.persistence as dafPersist
import lsst.utils.tests
from cameraMapper import CameraMapper
Expand Down Expand Up @@ -98,13 +100,10 @@ class ButlerSubsetTestCase(unittest.TestCase):
rawTypeName = "@veggies"

def setUp(self):
self.tearDown()
self.tmpRoot = tempfile.mkdtemp()

def tearDown(self):
if os.path.exists(os.path.join(ROOT, 'butlerSubset')):
shutil.rmtree(os.path.join(ROOT, 'butlerSubset'))
if os.path.exists('repositoryCfg.yaml'):
os.remove('repositoryCfg.yaml')
shutil.rmtree(self.tmpRoot, ignore_errors=True)

@staticmethod
def registerAliases(butler):
Expand All @@ -114,9 +113,7 @@ def registerAliases(butler):

def testSingleIteration(self):
butler = dafPersist.Butler(
outputs={'mode': 'rw',
'root': os.path.join(ROOT, 'butlerSubset'),
'mapper': ImgMapper})
outputs={'mode': 'rw', 'root': self.tmpRoot, 'mapper': ImgMapper})

ButlerSubsetTestCase.registerAliases(butler)

Expand All @@ -125,7 +122,7 @@ def testSingleIteration(self):
"calexp_v654321_R1,3_S1,1.pickle",
"calexp_v654321_R1,3_S1,2.pickle"]
for fileName in inputList:
with open(os.path.join(ROOT, 'butlerSubset', fileName), "wb") as f:
with open(os.path.join(self.tmpRoot, fileName), "wb") as f:
pickle.dump(inputList, f)

subset = butler.subset(self.calexpTypeName, skyTile=6)
Expand All @@ -149,22 +146,18 @@ def testSingleIteration(self):
self.assertEqual(image, inputList)

for fileName in inputList:
os.unlink(os.path.join(ROOT, 'butlerSubset', fileName))
os.unlink(os.path.join(self.tmpRoot, fileName))

def testNonexistentValue(self):
butler = dafPersist.Butler(
outputs={'mode': 'rw',
'root': os.path.join(ROOT, 'butlerSubset'),
'mapper': ImgMapper})
outputs={'mode': 'rw', 'root': self.tmpRoot, 'mapper': ImgMapper})
ButlerSubsetTestCase.registerAliases(butler)
subset = butler.subset(self.calexpTypeName, skyTile=2349023905239)
self.assertEqual(len(subset), 0)

def testInvalidValue(self):
butler = dafPersist.Butler(
outputs={'mode': 'rw',
'root': os.path.join(ROOT, 'butlerSubset'),
'mapper': ImgMapper})
outputs={'mode': 'rw', 'root': self.tmpRoot, 'mapper': ImgMapper})
ButlerSubsetTestCase.registerAliases(butler)
subset = butler.subset(self.calexpTypeName, skyTile="foo")
self.assertEqual(len(subset), 0)
Expand All @@ -181,13 +174,11 @@ def testDoubleIteration(self):
"flat_R1,2_S2,1_C0,0_E001.pickle",
"flat_R1,2_S2,2_C0,0_E000.pickle"]
for fileName in inputList:
with open(fileName, "wb") as f:
with open(os.path.join(self.tmpRoot, fileName), "wb") as f:
pickle.dump(inputList, f)

butler = dafPersist.Butler(
outputs={'mode': 'rw',
'root': '.',
'mapper': ImgMapper})
outputs={'mode': 'rw', 'root': self.tmpRoot, 'mapper': ImgMapper})

ButlerSubsetTestCase.registerAliases(butler)

Expand Down Expand Up @@ -223,22 +214,20 @@ def testDoubleIteration(self):
iterator.put(calexp, self.calexpTypeName)

for fileName in inputList:
os.unlink(fileName)
os.unlink(os.path.join(self.tmpRoot, fileName))
ref = butler.dataRef(self.rawTypeName,
visit=123456, raft="1,1", sensor="2,2", amp="0,1", snap=0)
self.assertFalse(ref.datasetExists("flat"))

for fileName in ["calexp_v123456_R1,1_S2,2.pickle",
"calexp_v123456_R1,2_S2,1.pickle",
"calexp_v123456_R1,2_S2,2.pickle"]:
self.assertTrue(os.path.exists(fileName))
os.unlink(fileName)
self.assertTrue(os.path.exists(os.path.join(self.tmpRoot, fileName)))
os.unlink(os.path.join(self.tmpRoot, fileName))

def testCompleteDataRef(self):
butler = dafPersist.Butler(
outputs={'mode': 'rw',
'root': os.path.join(ROOT, 'butlerSubset'),
'mapper': ImgMapper})
outputs={'mode': 'rw', 'root': self.tmpRoot, 'mapper': ImgMapper})
ButlerSubsetTestCase.registerAliases(butler)

# Test by using junk data
Expand Down

0 comments on commit 5f0ece1

Please sign in to comment.