Beispiel #1
0
    def setUpClass(cls):
        cls.root = testUtils.makeTestTempDir(
            os.path.abspath(os.path.dirname(__file__)))
        cls.addClassCleanup(testUtils.removeTestTempDir, cls.root)

        # Can't use in-memory datastore because JobReporter creates a
        # new Butler from scratch.
        cls.repo = dafButler.Butler(dafButler.Butler.makeRepo(cls.root),
                                    writeable=True)

        # White-box testing: must use real metrics, and provide datasets of
        # type metricvalue_*_*.
        butlerTests.addDataIdValue(cls.repo, "instrument", "NotACam")
        butlerTests.addDataIdValue(cls.repo, "detector", 101)
        # physical_filter needed for well-behaved visits
        butlerTests.addDataIdValue(cls.repo, "physical_filter",
                                   "k2021", band="k")
        butlerTests.addDataIdValue(cls.repo, "visit", 42)

        # Dependency on verify_metrics, but not on the code for computing
        # these metrics.
        butlerTests.addDatasetType(
            cls.repo,
            "metricvalue_pipe_tasks_CharacterizeImageTime",
            {"instrument", "visit", "detector"},
            "MetricValue")
Beispiel #2
0
 def setUp(self):
     self.root = makeTestTempDir(TESTDIR)
     self.testRepo = MetricTestRepo(self.root,
                                    configFile=os.path.join(
                                        TESTDIR,
                                        "config/basic/butler.yaml"))
     self.runner = LogCliRunner()
Beispiel #3
0
    def testRegisterMetricsExampleChained(self):
        """Regression test for registerMetricsExample having no effect
        on ChainedDatastore.
        """
        temp = makeTestTempDir(TESTDIR)
        try:
            config = lsst.daf.butler.Config()
            config[
                "datastore",
                "cls"] = "lsst.daf.butler.datastores.chainedDatastore.ChainedDatastore"
            config["datastore", "datastores"] = [{
                "cls":
                "lsst.daf.butler.datastores.fileDatastore.FileDatastore",
            }]

            repo = lsst.daf.butler.Butler.makeRepo(temp, config=config)
            butler = lsst.daf.butler.Butler(repo, run="chainedExample")
            registerMetricsExample(butler)
            addDatasetType(butler, "DummyType", {},
                           "StructuredDataNoComponents")

            data = MetricsExample(summary={})
            # Should not raise
            butler.put(data, "DummyType")
        finally:
            shutil.rmtree(temp, ignore_errors=True)
 def setUp(self):
     self.root = makeTestTempDir(TESTDIR)
     Butler.makeRepo(self.root)
     ints = [1, 2, 3]
     names = ['one', 'two', 'three']
     transcendentals = [3.14, 2.718, 0.643]
     self.table = Table([ints, names, transcendentals],
                        names=['ints', 'names', 'transcendentals'])
    def setUp(self):
        self.root = makeTestTempDir(TESTDIR)
        Butler.makeRepo(self.root)

        self.hspMap = hsp.HealSparseMap.make_empty(nside_coverage=32,
                                                   nside_sparse=4096,
                                                   dtype=np.float32)
        self.hspMap[0:10000] = 1.0
        self.hspMap[100000:110000] = 2.0
        self.hspMap[500000:510000] = 3.0
Beispiel #6
0
 def setUp(self):
     """Create a new butler root for each test."""
     self.root = makeTestTempDir(TESTDIR)
     Butler.makeRepo(self.root)
     self.butler = Butler(self.root, run="test_run")
     # No dimensions in dataset type so we don't have to worry about
     # inserting dimension data or defining data IDs.
     self.datasetType = DatasetType("data", dimensions=(), storageClass="DataFrame",
                                    universe=self.butler.registry.dimensions)
     self.butler.registry.registerDatasetType(self.datasetType)
Beispiel #7
0
    def setUp(self):
        # Local test directory
        self.tmpdir = makeTestTempDir(TESTDIR)

        # set up some fake credentials if they do not exist
        self.usingDummyCredentials = setAwsEnvCredentials()

        # MOTO needs to know that we expect Bucket bucketname to exist
        s3 = boto3.resource("s3")
        s3.create_bucket(Bucket=self.bucketName)
Beispiel #8
0
    def setUpClass(cls):
        # Repository should be re-created for each test case, but
        # this has a prohibitive run-time cost at present
        cls.root = makeTestTempDir(TESTDIR)

        dataIds = {
            "instrument": ["notACam", "dummyCam"],
            "physical_filter": ["k2020", "l2019"],
            "visit": [101, 102],
            "detector": [5]
        }
        cls.creatorButler = makeTestRepo(cls.root, dataIds)

        registerMetricsExample(cls.creatorButler)
        addDatasetType(cls.creatorButler, "DataType1", {"instrument"},
                       "StructuredDataNoComponents")
        addDatasetType(cls.creatorButler, "DataType2", {"instrument", "visit"},
                       "StructuredData")
Beispiel #9
0
    def setUpClass(cls):
        # Repository should be re-created for each test case, but
        # this has a prohibitive run-time cost at present
        cls.root = makeTestTempDir(TESTDIR)

        cls.creatorButler = makeTestRepo(cls.root)
        addDataIdValue(cls.creatorButler, "instrument", "notACam")
        addDataIdValue(cls.creatorButler, "instrument", "dummyCam")
        addDataIdValue(cls.creatorButler, "physical_filter", "k2020", band="k", instrument="notACam")
        addDataIdValue(cls.creatorButler, "physical_filter", "l2019", instrument="dummyCam")
        addDataIdValue(cls.creatorButler, "visit", 101, instrument="notACam", physical_filter="k2020")
        addDataIdValue(cls.creatorButler, "visit", 102, instrument="notACam", physical_filter="k2020")
        addDataIdValue(cls.creatorButler, "detector", 5)
        # Leave skymap/patch/tract undefined so that tests can assume
        # they're missing.

        registerMetricsExample(cls.creatorButler)
        addDatasetType(cls.creatorButler, "DataType1", {"instrument"}, "StructuredDataNoComponents")
        addDatasetType(cls.creatorButler, "DataType2", {"instrument", "visit"}, "StructuredData")
Beispiel #10
0
 def setUp(self):
     self.root = makeTestTempDir(TESTDIR)
Beispiel #11
0
 def setUp(self):
     self.root = makeTestTempDir(TESTDIR)
     Butler.makeRepo(self.root)
     # Create a random image for testing
     self.rng = Random(self.RANDOM_SEED)
Beispiel #12
0
 def setUp(self):
     # Use a local tempdir because on macOS the temp dirs use symlinks
     # so relsymlink gets quite confused.
     self.tmpdir = makeTestTempDir(TESTDIR)
Beispiel #13
0
 def setUp(self):
     self.tmpdir = makeTestTempDir(TESTDIR)
Beispiel #14
0
 def setUpClass(cls):
     cls.root = makeTestTempDir(TESTDIR)
     cls.server = _startServer(cls.root)
Beispiel #15
0
 def setUp(self):
     self.root = makeTestTempDir(TESTDIR)
     self.testRepo = MetricTestRepo(self.root, configFile=self.configFile)