aboutsummaryrefslogtreecommitdiff
path: root/crosperf/compare_machines.py
diff options
context:
space:
mode:
Diffstat (limited to 'crosperf/compare_machines.py')
-rw-r--r--crosperf/compare_machines.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/crosperf/compare_machines.py b/crosperf/compare_machines.py
new file mode 100644
index 00000000..0a61eeb9
--- /dev/null
+++ b/crosperf/compare_machines.py
@@ -0,0 +1,64 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Module to compare two machines."""
+
+from __future__ import print_function
+
+import os.path
+import sys
+import argparse
+
+from machine_manager import CrosMachine
+
+
+def PrintUsage(msg):
+ print(msg)
+ print('Usage: ')
+ print('\n compare_machines.py --chromeos_root=/path/to/chroot/ '
+ 'machine1 machine2 ...')
+
+
+def Main(argv):
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--chromeos_root',
+ default='/path/to/chromeos',
+ dest='chromeos_root',
+ help='ChromeOS root checkout directory')
+ parser.add_argument('remotes', nargs=argparse.REMAINDER)
+
+ options = parser.parse_args(argv)
+
+ machine_list = options.remotes
+ if len(machine_list) < 2:
+ PrintUsage('ERROR: Must specify at least two machines.')
+ return 1
+ elif not os.path.exists(options.chromeos_root):
+ PrintUsage('Error: chromeos_root does not exist %s' % options.chromeos_root)
+ return 1
+
+ chroot = options.chromeos_root
+ cros_machines = []
+ test_machine_checksum = None
+ for m in machine_list:
+ cm = CrosMachine(m, chroot, 'average')
+ cros_machines = cros_machines + [cm]
+ test_machine_checksum = cm.machine_checksum
+
+ ret = 0
+ for cm in cros_machines:
+ print('checksum for %s : %s' % (cm.name, cm.machine_checksum))
+ if cm.machine_checksum != test_machine_checksum:
+ ret = 1
+ print('Machine checksums do not all match')
+
+ if ret == 0:
+ print('Machines all match.')
+
+ return ret
+
+
+if __name__ == '__main__':
+ retval = Main(sys.argv[1:])
+ sys.exit(retval)