forked from M-Labs/artiq
test_dataset_db: remove (too much breakage on Windows)
This commit is contained in:
parent
a518963a47
commit
352317df11
|
@ -1,121 +0,0 @@
|
|||
"""Test internal dataset representation (persistence, applets)"""
|
||||
import unittest
|
||||
import tempfile
|
||||
import os
|
||||
|
||||
from artiq.master.databases import DatasetDB
|
||||
from sipyco import pyon
|
||||
|
||||
KEY1 = "key1"
|
||||
KEY2 = "key2"
|
||||
KEY3 = "key3"
|
||||
DATA = list(range(10))
|
||||
COMP = "gzip"
|
||||
|
||||
# tempfile.NamedTemporaryFile:
|
||||
# use delete=False and manual cleanup
|
||||
# for Windows compatibility
|
||||
|
||||
class TestDatasetDB(unittest.TestCase):
|
||||
def setUp(self):
|
||||
# empty dataset persistance file
|
||||
self.persist_file = tempfile.NamedTemporaryFile(mode="w+", delete=False)
|
||||
print("{}", file=self.persist_file, flush=True)
|
||||
|
||||
self.ddb = DatasetDB(self.persist_file.name)
|
||||
|
||||
self.ddb.set(KEY1, DATA, persist=True)
|
||||
self.ddb.set(KEY2, DATA, persist=True, hdf5_options=dict(compression=COMP))
|
||||
self.ddb.set(KEY3, DATA, hdf5_options=dict(shuffle=True))
|
||||
|
||||
# broken on Windows
|
||||
# self.save_ddb_to_disk()
|
||||
|
||||
def tearDown(self):
|
||||
os.unlink(self.persist_file.name)
|
||||
|
||||
# broken on Windows
|
||||
# def save_ddb_to_disk(self):
|
||||
# self.ddb.save()
|
||||
# self.persist_file.flush()
|
||||
|
||||
# def load_ddb_from_disk(self):
|
||||
# return pyon.load_file(self.persist_file.name)
|
||||
|
||||
# def test_persist_format(self):
|
||||
# data = pyon.load_file(self.persist_file.name)
|
||||
|
||||
# for key in [KEY1, KEY2]:
|
||||
# self.assertTrue(data[key]["persist"])
|
||||
# self.assertEqual(data[key]["value"], DATA)
|
||||
|
||||
# self.assertEqual(data[KEY2]["hdf5_options"]["compression"], COMP)
|
||||
# self.assertEqual(data[KEY1]["hdf5_options"], dict())
|
||||
|
||||
# def test_only_persist_marked_datasets(self):
|
||||
# data = self.load_ddb_from_disk()
|
||||
|
||||
# with self.assertRaises(KeyError):
|
||||
# data[KEY3]
|
||||
|
||||
def test_memory_format(self):
|
||||
ds = self.ddb.get(KEY2)
|
||||
self.assertTrue(ds["persist"])
|
||||
self.assertEqual(ds["value"], DATA)
|
||||
self.assertEqual(ds["hdf5_options"]["compression"], COMP)
|
||||
|
||||
ds = self.ddb.get(KEY3)
|
||||
self.assertFalse(ds["persist"])
|
||||
self.assertEqual(ds["value"], DATA)
|
||||
self.assertTrue(ds["hdf5_options"]["shuffle"])
|
||||
|
||||
# broken on Windows
|
||||
# def test_delete(self):
|
||||
# self.ddb.delete(KEY1)
|
||||
# self.save_ddb_to_disk()
|
||||
|
||||
# data = self.load_ddb_from_disk()
|
||||
|
||||
# with self.assertRaises(KeyError):
|
||||
# data[KEY1]
|
||||
|
||||
# self.assertTrue(data[KEY2]["persist"])
|
||||
|
||||
def test_update(self):
|
||||
self.assertFalse(self.ddb.get(KEY3)["persist"])
|
||||
|
||||
mod = {
|
||||
"action": "setitem",
|
||||
"path": [KEY3],
|
||||
"key": "persist",
|
||||
"value": True,
|
||||
}
|
||||
|
||||
self.ddb.update(mod)
|
||||
self.assertTrue(self.ddb.get(KEY3)["persist"])
|
||||
|
||||
def test_update_hdf5_options(self):
|
||||
with self.assertRaises(KeyError):
|
||||
self.ddb.get(KEY1)["hdf5_options"]["shuffle"]
|
||||
|
||||
mod = {
|
||||
"action": "setitem",
|
||||
"path": [KEY1, "hdf5_options"],
|
||||
"key": "shuffle",
|
||||
"value": False,
|
||||
}
|
||||
|
||||
self.ddb.update(mod)
|
||||
self.assertFalse(self.ddb.get(KEY1)["hdf5_options"]["shuffle"])
|
||||
|
||||
def test_reset_copies_persist(self):
|
||||
self.assertTrue(self.ddb.get(KEY1)["persist"])
|
||||
self.ddb.set(KEY1, DATA)
|
||||
self.assertTrue(self.ddb.get(KEY1)["persist"])
|
||||
|
||||
self.assertFalse(self.ddb.get(KEY3)["persist"])
|
||||
self.ddb.set(KEY3, DATA)
|
||||
self.assertFalse(self.ddb.get(KEY3)["persist"])
|
||||
|
||||
self.ddb.set(KEY3, DATA, persist=True)
|
||||
self.assertTrue(self.ddb.get(KEY3)["persist"])
|
Loading…
Reference in New Issue