import unittest from regen import create_parser from linaropy.proj import Proj class TestRegen(unittest.TestCase): """ Base TestCase class, sets up a CLI parser """ @classmethod def setUpClass(cls): cls.proj = Proj(prefix='regen', persist=False) # Create a projdir parser = create_parser() cls.parser = parser @classmethod def tearDownClass(cls): cls.proj.cleanup() def test_proj(self): args = self.parser.parse_args(["linaro-gcc-6.2-2016.11-rc1", '-p', self.proj.projdir]) self.assertEquals(args.proj_dir, self.proj.projdir) def test_not_proj(self): with self.assertRaises(IOError): args = self.parser.parse_args(["linaro-gcc-6.2-2016.11-rc1", '-p', "/foo/bar/bat/zing/bang"]) def test_missing_required_series(self): with self.assertRaises(SystemExit) as cm: args = self.parser.parse_args(['-p', self.proj.projdir]) self.assertEqual(cm.exception.code, 2) def test_missing_required_projdir(self): with self.assertRaises(SystemExit) as cm: args = self.parser.parse_args(["linaro-gcc-6.2-2016.11-rc1"]) self.assertEqual(cm.exception.code, 2) def test_missing_PROJ_DIR(self): with self.assertRaises(SystemExit) as cm: args = self.parser.parse_args(["linaro-gcc-6.2-2016.11-rc1", '-p']) self.assertEqual(cm.exception.code, 2) if __name__ == '__main__': unittest.main()