diff options
-rwxr-xr-x | tools/hiddenapi/generate_hiddenapi_lists.py | 4 | ||||
-rwxr-xr-x | tools/hiddenapi/generate_hiddenapi_lists_test.py | 18 |
2 files changed, 20 insertions, 2 deletions
diff --git a/tools/hiddenapi/generate_hiddenapi_lists.py b/tools/hiddenapi/generate_hiddenapi_lists.py index 6c46e67be63d..fdc800bcc177 100755 --- a/tools/hiddenapi/generate_hiddenapi_lists.py +++ b/tools/hiddenapi/generate_hiddenapi_lists.py @@ -212,8 +212,8 @@ def main(argv): move_from_files(args.input_greylists, uncategorized, light_greylist) move_from_files(args.input_blacklists, uncategorized, blacklist) - # Iterate over all uncategorized members and move serialization API to light greylist. - move_serialization(uncategorized, light_greylist) + # Iterate over all uncategorized members and move serialization API to whitelist. + move_serialization(uncategorized, whitelist) # Extract package names of members from whitelist and light greylist, which # are assumed to have been finalized at this point. Assign all uncategorized diff --git a/tools/hiddenapi/generate_hiddenapi_lists_test.py b/tools/hiddenapi/generate_hiddenapi_lists_test.py index 8f793189650c..4716241940b5 100755 --- a/tools/hiddenapi/generate_hiddenapi_lists_test.py +++ b/tools/hiddenapi/generate_hiddenapi_lists_test.py @@ -85,5 +85,23 @@ class TestHiddenapiListGeneration(unittest.TestCase): self.assertEqual( dst, set([ "Lfoo/bar/ClassA;->abc()J", "Lfoo/bar/ClassA;->def()J" ])) + def test_move_serialization(self): + # All the entries should be moved apart from the last one + src = set([ "Lfoo/bar/ClassA;->readObject(Ljava/io/ObjectInputStream;)V", + "Lfoo/bar/ClassA;->readObjectNoData()V", + "Lfoo/bar/ClassA;->readResolve()Ljava/lang/Object;", + "Lfoo/bar/ClassA;->serialVersionUID:J", + "Lfoo/bar/ClassA;->serialPersistentFields:[Ljava/io/ObjectStreamField;", + "Lfoo/bar/ClassA;->writeObject(Ljava/io/ObjectOutputStream;)V", + "Lfoo/bar/ClassA;->writeReplace()Ljava/lang/Object;", + # Should not be moved as signature does not match + "Lfoo/bar/ClassA;->readObject(Ljava/io/ObjectInputStream;)I"]) + expectedToMove = len(src) - 1 + dst = set() + packages = set([ "Lfoo/bar/" ]) + move_serialization(src, dst) + self.assertEqual(len(src), 1) + self.assertEqual(len(dst), expectedToMove) + if __name__ == '__main__': unittest.main() |