Merge "Add serialization methods to whitelist not light greylist"

am: f7190b65ab

Change-Id: Idecb27314ecbdea74354afb4f320eda124bfc72d
This commit is contained in:
Paul Duffin
2018-09-24 04:23:27 -07:00
committed by android-build-merger
2 changed files with 20 additions and 2 deletions

View File

@@ -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

View File

@@ -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()