summaryrefslogtreecommitdiff
path: root/test/180-native-default-method
AgeCommit message (Collapse)Author
2023-11-17Revert^2 "Add support for dex containers (DEX v41)." David Srbecky
This reverts commit a3b8c73d8ae9943c8aaabf49349302b4c05cea71. Reason for revert: Reland Test: ./art/test.py -b --host --optimizing --64 Test: device boots with container dex enabled for framework Test: tests pass with compax dex re-enabled Change-Id: I100a796f5105c351a531a45dcbea8b0245f598a8
2023-11-15Revert "Add support for dex containers (DEX v41)." David Srbecky
This reverts commit 854b363b284592d0bbfdbe31eb487fa64a4b9471. Reason for revert: PlayStore Scanner failures Change-Id: I7807aba1bfe1f662129f90c870c82427ca6d121f
2023-11-13Add support for dex containers (DEX v41). David Srbecky
Allow multiple dex files within single "container" (either a zip entry or a plain on-disk dex file). This allows sharing of string (and other) dex data, since the offsets can point to shared data payload. Bug: 266950186 Test: test.py -b --host Change-Id: I4f5901fd2f26a5a9dba427eb48c0fa5ddb6243d8
2022-11-17Run test build: Move some helpers up to the instance David Srbecky
Move some of the helper methods to the test instance so that they can be used from the per-test run scripts. Test: Build artifacts are identical. Change-Id: Ieebd40390c34a9a9bb123e54e0b2b6cd410735f1
2022-11-14Run test build: Refactor path handling David Srbecky
Refactor the script to use python Path object rather than strings. Keep all paths absolute to make the script independent of working dir. This allows us to use threads rather than forks to compile the tests. Test: All build artifacts are identical. Change-Id: Id38881f6457c697d8b5f7ce509beab6e56bd3277
2022-10-30Cleanup run-test build environment passing. David Srbecky
Use python variables rather than environment to pass state. Cleanup the environment use left over from the bash version. Test: build artifacts are same as before Change-Id: I3ba7f9e31a9a7046c62d67c6c66af4988d5c469a
2022-10-20Refactor individual run-test build scripts David Srbecky
Follow the same convention as run-test run scripts. The python files shall export build function, rather than doing the work when the script is loaded. This has the advantage that we now pass context/arguments to the function (rather than using environment variables). Test: the generated build artefacts are identical Change-Id: I90e0ef0d2e31b27813042d51d07b5ae132e1e704
2022-06-28Convert run-test bash build scripts to python. David Srbecky
Tests use the build script for two distinct purposes: * Some tests generate their source code before completion. Keep this code in bash for now and rename it "generate-sources". * To customize arguments passed to the default compilation script. Since the default compilation script is in python, make this a normal python call, and add any customization as arguments. This speeds up the run-test compilation. There was small cost to pay due to the switching from python to bash to python. This added up for the thousands of run-test compilations that we do. It also removes the need for argument parser in the default script. We could also remove the data passing via environment (to-do later). It moves the definition to more build-system-like look and feel. Test: The outputs are bit-for-bit identical as before. Change-Id: Idca4181a4676036f06aae0a8f6eea3a3c30d390e
2021-08-29Make smali compilations deterministic David Srbecky
The smali compilation in run-tests are non-deterministic. However, we don't observe that much, as most tests are dex-merged by D8 which normalize it back to deterministic. The non-determinism is only observed for few tests where well-intended short-cut bypasses the dex merger. Let's remove that short-cut to get deterministic build output. Also pass the proper test's API level to the dex merger. This avoids bumping dex file version to maximum as side effect of the no-op merge. It also avoids excessive log spam as the previous input was invalid. And it avoids bumping the dex file version to max for tests that need merge, which gives us more version variety for tests. Bug: 147814778 Test: test.py --host Change-Id: I4af262aef3305a90d8cb8d14d87f7c52b9dd734a
2021-08-20More run-test build determinism tweaks David Srbecky
Ensure 089 build script "passes" (i.e. expected error is seen). This was the only (intentionally) failing test. Use more of prebuilt tools rather than system tools. Bug: 147814778 Test: test.py --host Change-Id: I1401edb363312105ecc0da5a5ec41b8be5420798
2020-11-10Verify ART run-tests' standard output and standard error separately. Roland Levillain
Introduce expected standard error files for ART run-tests. Collect tests' standard output and standard error separately and check them against the corresponding expectation file. Test: Run ART run-tests on host and device using `testrunner.py`. Test: atest --test-mapping art:all Test: atest --test-mapping cts/hostsidetests/jvmti:all Bug: 171865375 Bug: 147812905 Change-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f
2020-11-05Rename ART run-tests `expected.txt` files as `expected-stdout.txt`. Roland Levillain
This is in preparation for the addition of `expected-stderr.txt` files in all ART run-test directories, which will record the expected standard error for each of these tests, and which will be verified along with `expected-stdout.txt`. Test: Run ART run-tests on host and device using `testrunner.py`. Test: atest --test-mapping art:all Bug: 171865375 Bug: 147812905 Change-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4
2020-05-29Revert^2 "Throw ClassFormatError for unsupported default methods." Vladimir Marko
This reverts commit 09261a8c5cd36a8c7a1ae5107da554dd35008b97. Fixed redefine-stress failures. Worked around CTS failures by reducing the cases where we throw the ClassFormatError. Test: 180-native-default-method. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: aosp_taimen-userdebug boots. Test: testrunner.py --host --optimizing --redefine-stress \ --debug --debugggable --cdex-fast Test: cts-tradefed run cts --m vm-tests-tf Bug: 157170505 Bug: 157718952 Change-Id: I95264af9041836fd6bc54e85263e2a405e877d30
2020-05-28Revert "Throw ClassFormatError for unsupported default methods." Nicolas Geoffray
This reverts commit adf0f2e55c285f3fbe0a70c218a8f267029e736c. Bug: 157170505 Bug: 157575227 Reason for revert: b/157575227 Change-Id: Ibc0aa5505a59deed717555441a9723b5b6561115
2020-05-27Throw ClassFormatError for unsupported default methods. Vladimir Marko
Fix DCHECK() failure for copied native default methods. For dex file version 37+ we reject the dex file. For older versions, throw the ClassFormatError like the RI. Test: 180-native-default-method. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: aosp_taimen-userdebug boots. Bug: 157170505 Change-Id: I5d2aefdcbf0b807c1cb482d0fda2e77316783cb4