216f5c56f801465932a4adffbea771fe570e1f59
[netvirt.git] / resources / tools / odltools / odltools / csit / tests / test_robotfiles.py
1 import os
2 import unittest
3
4 from odltools import logg
5 from odltools.csit.robotfiles import RobotFiles
6
7
8 # Requirements
9 # - output.xml.gz in /tmp
10 # - running tests will create job dir, unzip, parse and format output
11
12 class TestRobotFiles(unittest.TestCase):
13     DATAPATH = "/tmp/output_02_l3.xml.gz"
14     OUTPATH = "/tmp/robotjob2"
15
16     def setUp(self):
17         logg.Logger()
18
19     def test_mk_outdir(self):
20         self.robotfile = RobotFiles(self.DATAPATH, self.OUTPATH)
21         self.robotfile.mk_outdir()
22         self.assertTrue(os.path.isdir(self.robotfile.outdir))
23
24     def test_gunzip_xml_data_file(self):
25         self.robotfile = RobotFiles(self.DATAPATH, self.OUTPATH)
26         self.robotfile.mk_outdir()
27         self.robotfile.gunzip()
28         self.assertTrue(os.path.isfile(self.robotfile.datafilepath))
29
30     def test_parse_xml_data_file(self):
31         self.robotfile = RobotFiles(self.DATAPATH, self.OUTPATH)
32         self.robotfile.print_config()
33         self.robotfile.mk_outdir()
34         self.robotfile.gunzip()
35         self.robotfile.parse_xml_data_file()
36
37         print "tests: {}".format(len(self.robotfile.pdata))
38         # test_id = "s1-s1-s4-t28"
39         test_id = "s1-t1"
40         if test_id not in self.robotfile.pdata:
41             self.fail("wrong test_id")
42         pdata = self.robotfile.pdata[test_id]
43         print "\n{} test id = {} - {}".format(1, test_id, pdata['name'])
44         if 0:
45             for nindex, (node, ndata) in enumerate(pdata['nodes'].items()):
46                 print "{}: node = {}".format(nindex, node)
47                 for cindex, (command, cdata) in enumerate(ndata.items()):
48                     print "{}: command = {}\n{}".format(cindex, command, cdata)
49         if 0:
50             for mindex, (model, mdata) in enumerate(sorted(pdata['models'].items())):
51                 print "{}: model = {} - {}".format(mindex, model, mdata)
52
53         self.robotfile.write_pdata()
54         self.robotfile.write_debug_pdata()
55
56 if __name__ == '__main__':
57     unittest.main()