diff options
Diffstat (limited to 'cc/ndkstubgen/test_ndkstubgen.py')
-rwxr-xr-x | cc/ndkstubgen/test_ndkstubgen.py | 64 |
1 files changed, 52 insertions, 12 deletions
diff --git a/cc/ndkstubgen/test_ndkstubgen.py b/cc/ndkstubgen/test_ndkstubgen.py index 6d2c9d673..3dbab6180 100755 --- a/cc/ndkstubgen/test_ndkstubgen.py +++ b/cc/ndkstubgen/test_ndkstubgen.py @@ -33,8 +33,10 @@ class GeneratorTest(unittest.TestCase): # OmitVersionTest, PrivateVersionTest, and SymbolPresenceTest. src_file = io.StringIO() version_file = io.StringIO() - generator = ndkstubgen.Generator(src_file, version_file, Arch('arm'), - 9, False, False) + symbol_list_file = io.StringIO() + generator = ndkstubgen.Generator(src_file, + version_file, symbol_list_file, + Arch('arm'), 9, False, False) version = symbolfile.Version('VERSION_PRIVATE', None, [], [ symbolfile.Symbol('foo', []), @@ -62,8 +64,10 @@ class GeneratorTest(unittest.TestCase): # SymbolPresenceTest. src_file = io.StringIO() version_file = io.StringIO() - generator = ndkstubgen.Generator(src_file, version_file, Arch('arm'), - 9, False, False) + symbol_list_file = io.StringIO() + generator = ndkstubgen.Generator(src_file, + version_file, symbol_list_file, + Arch('arm'), 9, False, False) version = symbolfile.Version('VERSION_1', None, [], [ symbolfile.Symbol('foo', [Tag('x86')]), @@ -96,8 +100,10 @@ class GeneratorTest(unittest.TestCase): def test_write(self) -> None: src_file = io.StringIO() version_file = io.StringIO() - generator = ndkstubgen.Generator(src_file, version_file, Arch('arm'), - 9, False, False) + symbol_list_file = io.StringIO() + generator = ndkstubgen.Generator(src_file, + version_file, symbol_list_file, + Arch('arm'), 9, False, False) versions = [ symbolfile.Version('VERSION_1', None, [], [ @@ -141,6 +147,17 @@ class GeneratorTest(unittest.TestCase): """) self.assertEqual(expected_version, version_file.getvalue()) + expected_allowlist = textwrap.dedent("""\ + [abi_symbol_list] + foo + bar + woodly + doodly + baz + qux + """) + self.assertEqual(expected_allowlist, symbol_list_file.getvalue()) + class IntegrationTest(unittest.TestCase): def test_integration(self) -> None: @@ -186,8 +203,10 @@ class IntegrationTest(unittest.TestCase): src_file = io.StringIO() version_file = io.StringIO() - generator = ndkstubgen.Generator(src_file, version_file, Arch('arm'), - 9, False, False) + symbol_list_file = io.StringIO() + generator = ndkstubgen.Generator(src_file, + version_file, symbol_list_file, + Arch('arm'), 9, False, False) generator.write(versions) expected_src = textwrap.dedent("""\ @@ -215,6 +234,16 @@ class IntegrationTest(unittest.TestCase): """) self.assertEqual(expected_version, version_file.getvalue()) + expected_allowlist = textwrap.dedent("""\ + [abi_symbol_list] + foo + baz + qux + wibble + wobble + """) + self.assertEqual(expected_allowlist, symbol_list_file.getvalue()) + def test_integration_future_api(self) -> None: api_map = { 'O': 9000, @@ -238,8 +267,10 @@ class IntegrationTest(unittest.TestCase): src_file = io.StringIO() version_file = io.StringIO() - generator = ndkstubgen.Generator(src_file, version_file, Arch('arm'), - 9001, False, False) + symbol_list_file = io.StringIO() + generator = ndkstubgen.Generator(src_file, + version_file, symbol_list_file, + Arch('arm'), 9001, False, False) generator.write(versions) expected_src = textwrap.dedent("""\ @@ -257,6 +288,13 @@ class IntegrationTest(unittest.TestCase): """) self.assertEqual(expected_version, version_file.getvalue()) + expected_allowlist = textwrap.dedent("""\ + [abi_symbol_list] + foo + bar + """) + self.assertEqual(expected_allowlist, symbol_list_file.getvalue()) + def test_multiple_definition(self) -> None: input_file = io.StringIO(textwrap.dedent("""\ VERSION_1 { @@ -336,8 +374,10 @@ class IntegrationTest(unittest.TestCase): src_file = io.StringIO() version_file = io.StringIO() - generator = ndkstubgen.Generator(src_file, version_file, Arch('arm'), - 9, False, True) + symbol_list_file = io.StringIO() + generator = ndkstubgen.Generator(src_file, + version_file, symbol_list_file, + Arch('arm'), 9, False, True) generator.write(versions) expected_src = textwrap.dedent("""\ |