class ArgParserParseArgsTest(unittest.TestCase): def setUp(self): self.parser = ArgParser("") def test_given_dash_i_in_args_then_area_is_ioc(self): args = self.parser.parse_args("-i".split()) self.assertEqual(args.area, "ioc") def test_given_double_dash_ioc_in_args_then_area_is_ioc(self): args = self.parser.parse_args("--ioc".split()) self.assertEqual(args.area, "ioc") def test_given_dash_p_in_args_then_area_is_python(self): args = self.parser.parse_args("-p".split()) self.assertEqual(args.area, "python") def test_given_double_dash_python_in_args_then_area_is_python(self): args = self.parser.parse_args("--python".split()) self.assertEqual(args.area, "python") def test_given_double_dash_python3_in_args_then_area_is_python3(self): args = self.parser.parse_args("--python3".split()) self.assertEqual(args.area, "python3")
class AddReleaseTest(unittest.TestCase): def setUp(self): self.parser = ArgParser("") def test_arg_parser_quits_if_release_not_added_and_release_provided(self): try: self.parser.parse_args("-p 0-1".split()) self.fail("Parser should have quit.") except SystemExit: pass def test_arg_parser_parses_release_correctly(self): self.parser.add_release_arg() args = self.parser.parse_args("-p 0-1".split()) self.assertEqual(args.release, "0-1")
def main(): parser = ArgParser(usage) parser.add_argument( "module_name", type=str, default="", help="name of module to checkout") args = parser.parse_args() # if len(args) != 1: >>> argparse can't run if args not given <<< # parser.error("Incorrect number of arguments.") module = args.module # import svn client from dls_environment.svn import svnClient svn = svnClient() if args.area == "ioc": assert len(module.split('/')) > 1, 'Missing Technical Area under Beamline' vendor = gitf.vendorModule(module, args.area) vendor_current = os.path.join(vendor, "current") svn.setLogMessage('Searching vendor module branch for last import to "current"') for node in svn.ls(vendor): tt = os.path.join(vendor, os.path.basename(node['name'])) if os.path.basename(node['name']) != "current": diffs = svn.diff('/tmp', vendor_current, svn.Revision(svn.opt_revision_kind.head), tt, svn.Revision(svn.opt_revision_kind.head), True, True, True) if not diffs: print os.path.basename(node['name']) break
class ArgParserParseArgsTest(unittest.TestCase): def setUp(self): self.parser = ArgParser("") def test_given_dash_i_in_args_then_area_is_ioc(self): args = self.parser.parse_args("-i".split()) self.assertEqual(args.area, "ioc") def test_given_double_dash_ioc_in_args_then_area_is_ioc(self): args = self.parser.parse_args("--ioc".split()) self.assertEqual(args.area, "ioc") def test_given_dash_p_in_args_then_area_is_python(self): args = self.parser.parse_args("-p".split()) self.assertEqual(args.area, "python") def test_given_double_dash_python_in_args_then_area_is_python(self): args = self.parser.parse_args("--python".split()) self.assertEqual(args.area, "python")