def test_compare_shared_object(self): tester = AFSImageComparator("","","") res = tester.compare_shared_object('unit_test_files/so_.text_same/local_camera.omap4.so', 'unit_test_files/so_.text_same/remote_camera.omap4.so') self.assertTrue(res) res = tester.compare_shared_object('unit_test_files/so_.text_differ/local_libbcc.so', 'unit_test_files/so_.text_differ/remote_libbcc.so') self.assertFalse(res)
def main(): parser = argparse.ArgumentParser() parser.add_argument("--internal_package", "-i", help="path to fresh build", required=True) group = parser.add_mutually_exclusive_group(required=True) group.add_argument("--external_package", "-e", help="path to latest daily build") group.add_argument("--external_dir", "-d", help="path to daily builds folder") parser.add_argument("--tmp-dir", help="path to tmp-dir", required=False) parser.add_argument("--pattern", "-p", help="archive package name pattern, used with -d option", required=False, default = "*.gz") args = parser.parse_args() nowString = re.sub('\..*$','',datetime.datetime.now().isoformat('-')) if not (os.path.isfile(args.internal_package) and os.access(args.internal_package, os.R_OK)): print FAIL_COLOR + "Problems with reading internal package" + END_COLOR + '\n' parser.print_help() sys.exit(1) if args.external_package: if not (os.path.isfile(args.external_package) and os.access(args.external_package, os.R_OK)): print FAIL_COLOR + "Problems with reading external package" + END_COLOR + '\n' parser.print_help() sys.exit(1) externalPackage = args.external_package else: print "Ext dir is " + args.external_dir externalPackage = findNewestBuild(args.external_dir, args.pattern) print "Comparing to " + externalPackage if args.tmp_dir: tmpDir = args.tmp_dir if args.tmp_dir.endswith('/') else args.tmp_dir + '/' else: tmpDir = '/tmp/' workPath = tmpDir + nowString + '/' os.mkdir(workPath) internalSysImageRetlist = extractSystemImage(args.internal_package, workPath) if internalSysImageRetlist is None: print FAIL_COLOR + 'Failed to extract internal sysImage' + END_COLOR + "\nfrom " + args.internal_package sys.exit(1) externalSysImageRetlist = extractSystemImage(externalPackage, workPath) if externalSysImageRetlist is None: print FAIL_COLOR + 'Failed to extract external sysImage' + END_COLOR + "\nfrom " + externalPackage sys.exit(1) systemComparator = AFSImageComparator(internalSysImageRetlist[0], externalSysImageRetlist[0], workPath) systemComparator.run() OK = systemComparator.run() del systemComparator if OK: print OK_COLOR + "SysImages are same" + END_COLOR result = 0 else: result = 255 print "You might want to cleanup\n rm -rf " + workPath sys.exit(result)