Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2e9c665 authored by Paul Duffin's avatar Paul Duffin Committed by android-build-merger
Browse files

Merge "Add serialization methods to whitelist not light greylist"

am: f7190b65

Change-Id: Idecb27314ecbdea74354afb4f320eda124bfc72d
parents 77841856 f7190b65
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+18 −0
Original line number Diff line number Diff line
@@ -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()