@@ -14,6 +14,8 @@ class TestScriptOdmlConvert(unittest.TestCase):
1414 def setUp (self ):
1515 self .tmp_dir = util .create_test_dir (__file__ )
1616 self .dir_files = os .path .join (util .TEST_RESOURCES_DIR , "scripts" , "odml_convert" )
17+ self .dir_broken = os .path .join (self .dir_files , "test_broken" )
18+ self .dir_recursive = os .path .join (self .dir_files , "test_recursive" )
1719
1820 def tearDown (self ):
1921 if self .tmp_dir and os .path .exists (self .tmp_dir ):
@@ -29,6 +31,25 @@ def test_script_exit(self):
2931 with self .assertRaises (SystemExit ):
3032 odml_convert .main (["-h" ])
3133
34+ with self .assertRaises (SystemExit ):
35+ odml_convert .main (["--version" ])
36+
37+ def test_broken (self ):
38+ # make sure temp dir is empty
39+ self .assertListEqual (os .listdir (self .tmp_dir ), [])
40+
41+ # run converter on directory with invalid files
42+ odml_convert .main (["-o" , self .tmp_dir , self .dir_broken ])
43+
44+ # make sure an output directory has been created
45+ out_dir_lst = os .listdir (self .tmp_dir )
46+ self .assertEqual (len (out_dir_lst ), 1 )
47+ out_dir = os .path .join (self .tmp_dir , out_dir_lst [0 ])
48+ self .assertTrue (os .path .isdir (out_dir ))
49+
50+ # make sure no file has been created
51+ self .assertListEqual (os .listdir (out_dir ), [])
52+
3253 def test_valid_conversion (self ):
3354 # make sure temp dir is empty
3455 self .assertListEqual (os .listdir (self .tmp_dir ), [])
@@ -49,3 +70,24 @@ def test_valid_conversion(self):
4970 # make sure the files are valid odml files
5071 _ = odml_load (os .path .join (out_dir , file_lst [0 ]))
5172 _ = odml_load (os .path .join (out_dir , file_lst [1 ]))
73+
74+ def test_recursive_conversion (self ):
75+ # make sure temp dir is empty
76+ self .assertListEqual (os .listdir (self .tmp_dir ), [])
77+
78+ # run converter on root directory containing two files
79+ odml_convert .main (["-r" , "-o" , self .tmp_dir , self .dir_recursive ])
80+
81+ # make sure an output directory has been created
82+ out_dir_lst = os .listdir (self .tmp_dir )
83+ self .assertEqual (len (out_dir_lst ), 1 )
84+ out_dir = os .path .join (self .tmp_dir , out_dir_lst [0 ])
85+ self .assertTrue (os .path .isdir (out_dir ))
86+
87+ # make sure two files have been created
88+ file_lst = os .listdir (out_dir )
89+ self .assertEqual (len (file_lst ), 2 )
90+
91+ # make sure the files are valid odml files
92+ _ = odml_load (os .path .join (out_dir , file_lst [0 ]))
93+ _ = odml_load (os .path .join (out_dir , file_lst [1 ]))
0 commit comments