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/io_utils_test.py b/payload_utils/checker/io_utils_test.py
new file mode 100644
index 0000000..00bedd3
--- /dev/null
+++ b/payload_utils/checker/io_utils_test.py
@@ -0,0 +1,33 @@
+# 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.
+"""Tests for io_utils."""
+
+import os
+import tempfile
+import unittest
+
+from checker import io_utils
+
+from bindings.src.config.api.config_bundle_pb2 import ConfigBundle
+from bindings.src.config.api.program_pb2 import ProgramList, Program
+
+
+class IoUtilsTest(unittest.TestCase):
+ """Tests for io_utils."""
+
+ def setUp(self):
+ self.config = ConfigBundle(
+ programs=ProgramList(value=[Program(name='TestProgram1')]))
+ self.repo_path = tempfile.mkdtemp()
+
+ os.mkdir(os.path.join(self.repo_path, 'generated'))
+
+ with open(
+ os.path.join(self.repo_path, 'generated', 'config.binaryproto'),
+ 'wb') as f:
+ f.write(self.config.SerializeToString())
+
+ def test_read_repo_config(self):
+ """Tests the binary proto can be read."""
+ self.assertEqual(io_utils.read_repo_config(self.repo_path), self.config)