forked from M-Labs/artiq
lda: add unit tests
This commit is contained in:
parent
05824fd3be
commit
de4a15c315
|
@ -0,0 +1,40 @@
|
|||
import unittest
|
||||
import os
|
||||
from artiq.devices.lda.driver import Lda, Ldasim
|
||||
from artiq.language.units import dB
|
||||
|
||||
|
||||
no_hardware = bool(os.getenv("ARTIQ_NO_HARDWARE"))
|
||||
|
||||
|
||||
class GenericLdaTest:
|
||||
def test_attenuation(self):
|
||||
step = self.cont.get_att_step_size().amount
|
||||
max = self.cont.get_att_max().amount
|
||||
test_vector = [i*step*dB for i in range(0, int(max*int(1/step)+1))]
|
||||
for i in test_vector:
|
||||
with self.subTest(i=i):
|
||||
self.cont.set_attenuation(i)
|
||||
self.assertEqual(i, self.cont.get_attenuation())
|
||||
|
||||
|
||||
@unittest.skipIf(no_hardware, "no hardware")
|
||||
class TestLda(GenericLdaTest, unittest.TestCase):
|
||||
def setUp(self):
|
||||
device = os.getenv("ARTIQ_LDA_DEVICE")
|
||||
serial = os.getenv("ARTIQ_LDA_SERIAL")
|
||||
args = dict()
|
||||
if device is not None:
|
||||
args["product"] = device
|
||||
if serial is not None:
|
||||
args["serial"] = serial
|
||||
|
||||
self.cont = Lda(**args)
|
||||
|
||||
|
||||
class TestLdaSim(GenericLdaTest, unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.cont = Ldasim()
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
Loading…
Reference in New Issue