Add test for empty stub generation.
Seems this works, but adding the test anyway. Test: pytest Bug: None Change-Id: I32903246a037f942e87b35479d07a8f30853f9e4
This commit is contained in:
parent
26999937e2
commit
08327ac7fc
1 changed files with 34 additions and 0 deletions
|
@ -413,6 +413,40 @@ class IntegrationTest(unittest.TestCase):
|
|||
""")
|
||||
self.assertEqual(expected_version, version_file.getvalue())
|
||||
|
||||
def test_empty_stub(self) -> None:
|
||||
"""Tests that empty stubs can be generated.
|
||||
|
||||
This is not a common case, but libraries whose only behavior is to
|
||||
interpose symbols to alter existing behavior do not need to expose
|
||||
their interposing symbols as API, so it's possible for the stub to be
|
||||
empty while still needing a stub to link against. libsigchain is an
|
||||
example of this.
|
||||
"""
|
||||
input_file = io.StringIO(textwrap.dedent("""\
|
||||
VERSION_1 {
|
||||
local:
|
||||
*;
|
||||
};
|
||||
"""))
|
||||
parser = symbolfile.SymbolFileParser(input_file, {}, Arch('arm'),
|
||||
9, llndk=False, apex=True)
|
||||
versions = parser.parse()
|
||||
|
||||
src_file = io.StringIO()
|
||||
version_file = io.StringIO()
|
||||
symbol_list_file = io.StringIO()
|
||||
generator = ndkstubgen.Generator(src_file,
|
||||
version_file,
|
||||
symbol_list_file,
|
||||
Arch('arm'),
|
||||
9,
|
||||
llndk=False,
|
||||
apex=True)
|
||||
generator.write(versions)
|
||||
|
||||
self.assertEqual('', src_file.getvalue())
|
||||
self.assertEqual('', version_file.getvalue())
|
||||
|
||||
|
||||
def main() -> None:
|
||||
suite = unittest.TestLoader().loadTestsFromName(__name__)
|
||||
|
|
Loading…
Reference in a new issue