示例#1
0
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")
示例#2
0
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")