Example #1
0
    def testDirDirect(self):
        itestdir = rcmp.Items.find_or_create(self.emptydirname, rcmp.root)
        itestdir2 = rcmp.Items.find_or_create(self.dirnotemptybase, rcmp.root)

        ## DirComparator no longer instantiates so we don't have any
        ## easy way to stub out lower level comparators just now.

        # assert_equal(rcmp.Comparison(litem=itestdir, ritem=itestdir, comparators=[
        #     rcmp.DirComparator([]),
        #     ], exit_asap=self.exit_asap).cmp(), rcmp.Same)

        # assert_equal(rcmp.ComparisonList([[self.emptydirname], [self.emptydirname]], comparators=[
        #     rcmp.DirComparator([]),
        #     ], exit_asap=self.exit_asap).cmp(), rcmp.Same)

        assert_equal(rcmp.Comparison(litem=itestdir, ritem=itestdir, comparators=[
            rcmp.DirComparator,
            ], exit_asap=self.exit_asap).cmp(), rcmp.Same)

        assert_equal(rcmp.ComparisonList([[self.emptydirname], [self.emptydirname]], comparators=[
            rcmp.DirComparator,
            ], exit_asap=self.exit_asap).cmp(), rcmp.Same)

        assert_equal(rcmp.Comparison(litem=itestdir, ritem=itestdir2, comparators=[
            rcmp.DirComparator,
            ], exit_asap=self.exit_asap).cmp(), rcmp.Different)

        assert_equal(rcmp.ComparisonList([[self.emptydirname], [self.dirnotemptybase]], comparators=[
            rcmp.DirComparator,
            ], exit_asap=self.exit_asap).cmp(), rcmp.Different)

        assert_equal(rcmp.ComparisonList([[self.emptydirname], [self.dirnotemptybase]], comparators=[
            rcmp.DirComparator,
            ], ignores=rcmp.fntore(['*' + self.foilername]), exit_asap=self.exit_asap).cmp(), rcmp.Same)
Example #2
0
    def testDirDirect(self):
        itestdir = rcmp.Items.find_or_create(self.emptydirname, rcmp.root)
        itestdir2 = rcmp.Items.find_or_create(self.dirnotemptybase, rcmp.root)

        ## DirComparator no longer instantiates so we don't have any
        ## easy way to stub out lower level comparators just now.

        # assert_equal(rcmp.Comparison(litem=itestdir, ritem=itestdir, comparators=[
        #     rcmp.DirComparator([]),
        #     ], exit_asap=self.exit_asap).cmp(), rcmp.Same)

        # assert_equal(rcmp.ComparisonList([[self.emptydirname], [self.emptydirname]], comparators=[
        #     rcmp.DirComparator([]),
        #     ], exit_asap=self.exit_asap).cmp(), rcmp.Same)

        assert_equal(
            rcmp.Comparison(litem=itestdir,
                            ritem=itestdir,
                            comparators=[
                                rcmp.DirComparator,
                            ],
                            exit_asap=self.exit_asap).cmp(), rcmp.Same)

        assert_equal(
            rcmp.ComparisonList([[self.emptydirname], [self.emptydirname]],
                                comparators=[
                                    rcmp.DirComparator,
                                ],
                                exit_asap=self.exit_asap).cmp(), rcmp.Same)

        assert_equal(
            rcmp.Comparison(litem=itestdir,
                            ritem=itestdir2,
                            comparators=[
                                rcmp.DirComparator,
                            ],
                            exit_asap=self.exit_asap).cmp(), rcmp.Different)

        assert_equal(
            rcmp.ComparisonList([[self.emptydirname], [self.dirnotemptybase]],
                                comparators=[
                                    rcmp.DirComparator,
                                ],
                                exit_asap=self.exit_asap).cmp(),
            rcmp.Different)

        assert_equal(
            rcmp.ComparisonList([[self.emptydirname], [self.dirnotemptybase]],
                                comparators=[
                                    rcmp.DirComparator,
                                ],
                                ignores=rcmp.fntore(['*' + self.foilername]),
                                exit_asap=self.exit_asap).cmp(), rcmp.Same)
Example #3
0
def main():
    """
    Parses command line options and calls library.
    """
    logger = logging.getLogger()
    handler = logging.StreamHandler()

    options = _parse_args()

    log_level = logging.ERROR

    if options.verbose == 1:
        log_level = rcmp.DIFFERENCES
    elif options.verbose == 2:
        log_level = rcmp.SAMES
    elif options.verbose == 3:
        log_level = rcmp.INDETERMINATES
    elif options.verbose > 3:
        log_level = logging.DEBUG

    logger.setLevel(log_level)
    logger.addHandler(handler)

    ignores = []

    for ifile in options.ignorefiles:
        if os.path.isfile(ifile):
            with open(ifile, 'r') as ignorefile:
                ignores += [line.strip() for line in ignorefile]

    if options.crunch:
        ignores = rcmp.fntoreconcat(ignores)
    else:
        ignores = rcmp.fntore(ignores)

    result = rcmp.Comparison(lname=options.left,
                             rname=options.right,
                             ignores=ignores,
                             exit_asap=options.exit_asap,
                             ignore_ownerships=options.ignore_ownerships).cmp()

    return 0 if result == rcmp.Same else 1
Example #4
0
 def testIgnore(self):
     assert_equal(
         rcmp.Comparison(lname=self.dirs[0],
                         rname=self.dirs[1],
                         ignores=rcmp.fntore(['*.pyc']),
                         exit_asap=self.exit_asap).cmp(), rcmp.Same)
Example #5
0
 def testIgnore(self):
     assert_equal(rcmp.Comparison(lname=self.dirs[0], rname=self.dirs[1], ignores=rcmp.fntore(['*.pyc']),
                                  exit_asap=self.exit_asap).cmp(),
                  rcmp.Same)