tree d72560804e670af377bd2abe9d79b94bdcc34176
parent d31ec3280ae1c8ed199e087fe631357b7bc1640b
author Martin Stjernholm <mast@google.com> 1667328664 +0000
committer Martin Stjernholm <mast@google.com> 1667573013 +0000

Fix UnbundledProductApp CTS test to work with extended public libraries.

This amends the fix https://r.android.com/2203617 which didn't handle
extended public libraries correctly. When llndk_libraries_product() got
appended to expected_shared_libs_to_platform_ns, it got set to
default_public_libraries() + extended_public_libraries() +
llndk_libraries_product(), which gets matched as a prefix against the
real value default_public_libraries() + llndk_libraries_product() +
extended_public_libraries() in the M-2022-11 version of the ART Module.
That only works as long as extended_public_libraries() returns an empty
string. Set it to default_public_libraries() +
llndk_libraries_product() instead, so that the prefix match works as
intended.

Also fix the classloader namespace check to accept the name change made
in https://r.android.com/2166783. That CL is not yet in an ART module
release branch, but it will be eventually.

This patch is only applicable to android13-tests-dev, where the ART
module may or may not be updated. On AOSP head it should only accept
the new behaviour. Merged-In set from https://r.android.com/2166783 to
block merging there.

Test: atest -a libnativeloader_test
  with and without installing an unbundled ART module built from
  current head on the master-art branch.
Test: adb root
      adb remount -R
      adb root
      adb remount
      adb shell 'echo "libfoo.foo.so" > system/etc/public.libraries-foo.txt'
      atest -a libnativeloader_test
  with and without installing an unbundled ART module built from
  current head on the master-art branch.
Bug: 256715954
Change-Id: I347582df87e2bce0142d0210519f013d060a0180
Merged-In: I3e8cfcb9ed8112bb0144ff2ea53fe7a8bcb63694
