1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
import os.path
import tempfile
from unittest import TestCase
from pyecsca.sca import TraceSet, InspectorTraceSet, ChipWhispererTraceSet
class TraceSetTests(TestCase):
def test_create(self):
self.assertIsNotNone(TraceSet())
self.assertIsNotNone(InspectorTraceSet())
self.assertIsNotNone(ChipWhispererTraceSet())
class InspectorTraceSetTests(TestCase):
def test_load_fname(self):
result = InspectorTraceSet("test/data/example.trs")
self.assertIsNotNone(result)
self.assertEqual(result.global_title, "Example trace set")
self.assertEqual(len(result), 10)
self.assertEqual(len(list(result)), 10)
self.assertIn("InspectorTraceSet", str(result))
self.assertIs(result[0].trace_set, result)
self.assertEqual(result.sampling_frequency, 12500000)
def test_load_file(self):
with open("test/data/example.trs", "rb") as f:
self.assertIsNotNone(InspectorTraceSet(f))
def test_load_bytes(self):
with open("test/data/example.trs", "rb") as f:
self.assertIsNotNone(InspectorTraceSet(f.read()))
def test_get_bytes(self):
self.assertIsNotNone(bytes(InspectorTraceSet("test/data/example.trs")))
def test_keep_traces(self):
trace_set = InspectorTraceSet("test/data/example.trs")
self.assertIsNotNone(trace_set.raw)
trace_set = InspectorTraceSet("test/data/example.trs", keep_raw_traces=False)
self.assertIsNone(trace_set.raw)
def test_save(self):
trace_set = InspectorTraceSet("test/data/example.trs")
with tempfile.TemporaryDirectory() as dirname:
path = os.path.join(dirname, "out.trs")
trace_set.save(path)
self.assertTrue(os.path.exists(path))
self.assertIsNotNone(InspectorTraceSet(path))
with self.assertRaises(ValueError):
trace_set.save(None)
class ChipWhispererTraceSetTest(TestCase):
def test_load_fname(self):
result = ChipWhispererTraceSet("test/data/", "chipwhisperer")
self.assertIsNotNone(result)
self.assertEqual(len(result), 2)
|