diff options
Diffstat (limited to 'tests/archive_test.py')
-rw-r--r-- | tests/archive_test.py | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/tests/archive_test.py b/tests/archive_test.py deleted file mode 100644 index 21ddd5e..0000000 --- a/tests/archive_test.py +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 2015 The Bazel Authors. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Testing for archive.""" - -import unittest - -from bazel_tools.tools.python.runfiles import runfiles -from pkg.private import archive - - -class SimpleArReaderTest(unittest.TestCase): - """Testing for SimpleArReader class.""" - - def setUp(self): - super(SimpleArReaderTest, self).setUp() - self.data_files = runfiles.Create() - - def assertArFileContent(self, arfile, content): - """Assert that arfile contains exactly the entry described by `content`. - - Args: - arfile: the path to the AR file to test. - content: an array describing the expected content of the AR file. - Each entry in that list should be a dictionary where each field - is a field to test in the corresponding SimpleArFileEntry. For - testing the presence of a file "x", then the entry could simply - be `{"filename": "x"}`, the missing field will be ignored. - """ - print("READING: %s" % arfile) - with archive.SimpleArReader(arfile) as f: - current = f.next() - i = 0 - while current: - error_msg = "Extraneous file at end of archive %s: %s" % ( - arfile, - current.filename - ) - self.assertLess(i, len(content), error_msg) - for k, v in content[i].items(): - value = getattr(current, k) - error_msg = " ".join([ - "Value `%s` for key `%s` of file" % (value, k), - "%s in archive %s does" % (current.filename, arfile), - "not match expected value `%s`" % v - ]) - self.assertEqual(value, v, error_msg) - current = f.next() - i += 1 - if i < len(content): - self.fail("Missing file %s in archive %s" % (content[i], arfile)) - - def testEmptyArFile(self): - self.assertArFileContent( - self.data_files.Rlocation("rules_pkg/tests/testdata/empty.ar"), - []) - - def assertSimpleFileContent(self, names): - datafile = self.data_files.Rlocation( - "rules_pkg/tests/testdata/" + "_".join(names) + ".ar") - # pylint: disable=g-complex-comprehension - content = [{"filename": n, - "size": len(n.encode("utf-8")), - "data": n.encode("utf-8")} - for n in names] - self.assertArFileContent(datafile, content) - - def testAFile(self): - self.assertSimpleFileContent(["a"]) - - def testBFile(self): - self.assertSimpleFileContent(["b"]) - - def testABFile(self): - self.assertSimpleFileContent(["ab"]) - - def testA_BFile(self): - self.assertSimpleFileContent(["a", "b"]) - - def testA_ABFile(self): - self.assertSimpleFileContent(["a", "ab"]) - - def testA_B_ABFile(self): - self.assertSimpleFileContent(["a", "b", "ab"]) - - -if __name__ == "__main__": - unittest.main() |