Have checker.py read config pbs in program and project repos.
- Also move to discussed layout, with top-level payload_utils
package.
BUG=chromium:1051187
TEST=generate.sh
TEST=python unittests
TEST=checker.py --program=../program/volteer\
--project=../project/volteer/volteer
Change-Id: I38976fc743c9695356e4d81f986021fe87842a2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/config/+/2051089
Commit-Queue: Andrew Lamb <andrewlamb@chromium.org>
Tested-by: Andrew Lamb <andrewlamb@chromium.org>
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
diff --git a/payload_utils/checker.py b/payload_utils/checker.py
new file mode 100755
index 0000000..c0ab275
--- /dev/null
+++ b/payload_utils/checker.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python3
+# Copyright 2020 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.
+"""Run a program's constraint checks on a project."""
+
+import argparse
+import os
+
+from checker import io_utils
+
+
+def argument_parser():
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument(
+ '--program',
+ required=True,
+ help=('Path to the root of the program repo'
+ ' e.g. .../chromiumos/src/program/program1'),
+ metavar='PATH')
+ parser.add_argument(
+ '--project',
+ required=True,
+ help=('Path to the root of the project repo'
+ ' e.g. .../chromiumos/src/project/program1/project1'),
+ metavar='PATH')
+ return parser
+
+
+def main():
+ parser = argument_parser()
+ args = parser.parse_args()
+
+ project_config = io_utils.read_repo_config(args.project)
+ program_config = io_utils.read_repo_config(args.program)
+
+ print('Read project config: {}'.format(project_config))
+ print('Read program config: {}'.format(program_config))
+
+
+if __name__ == '__main__':
+ main()