fd = open(pn) for l in fd: l = l.strip() if l == "" or l.startswith("#"): continue if l.endswith("{"): val = _load_struct(fd) key = l.rstrip(" {").split("/") dbg.trace("%s", key) if len(key) == 0: continue conf.append((key, val)) return conf # XXX. remove after cleaning fops-3/4 dbg.quiet(["trace"]) global FOPS # FOPS = _load_fops("NOTE.fops-4.0") FOPS = _load_fops("NOTE.ieee80211.fops.normalized") def get_ops(*specifiers): def _match(key, specifiers): # XXX. not completely trimmed yet if len(key) == 1: return False for (k, s) in zip(key, specifiers): if type(s) == list: if not k in s: return False
lock = lock.replace("@", " @LOCATION: ") funcs[func] = PathCall(lock) return funcs if __name__ == '__main__': parser = optparse.OptionParser() parser.add_option("--promo", "-p", help="list of promo log", default=None) (opts, args) = parser.parse_args() # load other targets if opts.promo: BOOTSTRAP.update(load_promo_log(opts.promo).keys()) utils.install_pdb() # pick the latest one from /tmp log_d = utils.get_latest_file("/tmp/fss-*/") if log_d is None: # second choice log_d = os.path.join(ROOT, "data", "sample-fss-output") # perfered one if len(args) >= 1: log_d = args[0] # enable trace output on unittest if not "unit" in log_d: dbg.quiet(["trace"]) analyze_lock_promo(log_d)
def main(): # do all the dirty works on command args parser = argparse.ArgumentParser(prog='MetaSync') parser.add_argument('--version', action='version', version='%(prog)s ' + VERSION) parser.add_argument('--quite', action='store_true', default=False) parser.add_argument('--debug', action='store_true', default=False) parser.add_argument('--authdir', default=None) parser.add_argument('--nthreads', default=2, type=int) parser.add_argument('--metasync', help="root of metasync repo", default=".") # add subparser for each command sub_parser = {} sub = parser.add_subparsers(dest="cmd") for (k, f) in get_all_cmds(): p = sub.add_parser(k, help=f.__doc__) p.add_argument('args', nargs='*') sub_parser[k] = p # sub command specific option other than args sub_parser["test"].add_argument('--dump', help="hexdump of /objects", action="store_true", default=False) sub_parser["test"].add_argument('--keep', help="keep test dir", action="store_true", default=False) sub_parser["test"].add_argument('--slow', help="slow path for testing", action="store_true", default=False) sub_parser["test"].add_argument('--encrypt', help="enable encryption", action="store_true", default=False) sub_parser["test"].add_argument('--notree', help="do not dump the root tree", action="store_true", default=False) sub_parser["daemon"].add_argument('--nocheckin', action="store_true", default=False) # in case of not getting any arg if len(sys.argv) < 2: sys.argv.append('--help') args = parser.parse_args() # set quite dbg.quiet(["info", "err"]) if args.debug: util.install_pdb() dbg.quiet(["info", "err","dbg","time"]) import services services.auth_dir = args.authdir # invoke & exit exit(invoke_cmd(args.cmd, MetaSync(args.metasync, args), args))
def main(): # do all the dirty works on command args parser = argparse.ArgumentParser(prog='MetaSync') parser.add_argument('--version', action='version', version='%(prog)s ' + VERSION) parser.add_argument('--quite', action='store_true', default=False) parser.add_argument('--debug', action='store_true', default=False) parser.add_argument('--authdir', default=None) parser.add_argument('--nthreads', default=2, type=int) parser.add_argument('--metasync', help="root of metasync repo", default=".") # add subparser for each command sub_parser = {} sub = parser.add_subparsers(dest="cmd") for (k, f) in get_all_cmds(): p = sub.add_parser(k, help=f.__doc__) p.add_argument('args', nargs='*') sub_parser[k] = p # sub command specific option other than args sub_parser["test"].add_argument('--dump', help="hexdump of /objects", action="store_true", default=False) sub_parser["test"].add_argument('--keep', help="keep test dir", action="store_true", default=False) sub_parser["test"].add_argument('--slow', help="slow path for testing", action="store_true", default=False) sub_parser["test"].add_argument('--encrypt', help="enable encryption", action="store_true", default=False) sub_parser["test"].add_argument('--notree', help="do not dump the root tree", action="store_true", default=False) sub_parser["daemon"].add_argument('--nocheckin', action="store_true", default=False) # in case of not getting any arg if len(sys.argv) < 2: sys.argv.append('--help') args = parser.parse_args() # set quite dbg.quiet(["info", "err"]) if args.debug: util.install_pdb() dbg.quiet(["info", "err", "dbg", "time"]) import services services.auth_dir = args.authdir # invoke & exit exit(invoke_cmd(args.cmd, MetaSync(args.metasync, args), args))
report = lock.ErrReport(fd) for path in Parser(fss_d).parse(): state = explore_path(path, report) report.report() fd.close() if __name__ == '__main__': utils.install_pdb() # pick the latest one from /tmp log_d = utils.get_latest_file("/tmp/fss-*/") if log_d is None: # second choice log_d = os.path.join(ROOT, "data", "sample-fss-output") # perfered one if len(sys.argv) > 1: log_d = sys.argv[1] # enable trace output on unittest if not "unit" in log_d: dbg.quiet(["trace", "bug_lock"]) dbg.info("> %s", log_d) report = lock.ErrReport() for path in Parser(log_d).parse(): state = explore_path(path, report) report.report()