43 f1 =
"%s::%s" % (db1, options.folder)
44 f2 =
"%s::%s" % (db2, options.folder)
48 print (
" * ", f1, options.tag1)
49 print (
" * ", f2, options.tag2)
52 if options.runMin
is not None:
54 if options.runMax
is not None:
55 runs = options.runMin, options.runMax
57 tag1iovs = fetch_iovs(f1, runs=runs, tag=options.tag1)
58 tag2iovs = fetch_iovs(f2, runs=runs, tag=options.tag2)
68 for since, until, (t1, t2)
in process_iovs(tag1iovs, tag2iovs):
71 if not options.span
and since.run != until.run:
continue
80 if (t1.status == 0
or t2.status == 0)
and (t1.status != t2.status):
81 if options.statusonly
and not options.summary:
82 print (since, until, t1.status, t2.status)
86 if not options.statusonly:
87 for i, field
in enumerate(t1._fields):
94 if not options.summary:
95 print (since, until, field, t1[i], t2[i])
96 affected_runs.add(since.run)
99 if not options.statusonly:
100 print (
"Runs with differences (%s):" % len(affected_runs),
", ".join(
map(str, sorted(affected_runs))))
102 print (
"Runs with different status (and one non-zero):",
", ".join(
map(str, sorted(ar2))))