43 f1 = "%s::%s" % (db1, options.folder)
44 f2 = "%s::%s" % (db2, options.folder)
45
46 print ("="*100)
47 print ("Comparing: ")
48 print (" * ", f1, options.tag1)
49 print (" * ", f2, options.tag2)
50 print ("="*100)
51
52 if options.runMin is not None:
53 runs = options.runMin
54 if options.runMax is not None:
55 runs = options.runMin, options.runMax
56
57 tag1iovs = fetch_iovs(f1, runs=runs, tag=options.tag1)
58 tag2iovs = fetch_iovs(f2, runs=runs, tag=options.tag2)
59
62
63
64
65
66
67
68 for since, until, (t1, t2) in process_iovs(tag1iovs, tag2iovs):
69
70
71 if not options.span and since.run != until.run: continue
72
73
74
75
76
77
78
79
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)
83 ar2.add(since.run)
84
85
86 if not options.statusonly:
87 for i, field in enumerate(t1._fields):
88 if t1[i] != t2[i]:
89
90
91
92
93
94 if not options.summary:
95 print (since, until, field, t1[i], t2[i])
96 affected_runs.add(since.run)
97
98
99 if not options.statusonly:
100 print (
"Runs with differences (%s):" % len(affected_runs),
", ".join(
map(str, sorted(affected_runs))))
101
102 print (
"Runs with different status (and one non-zero):",
", ".join(
map(str, sorted(ar2))))
103