summaryrefslogtreecommitdiff
path: root/test/1966-get-set-local-objects-no-table
AgeCommit message (Collapse)Author
2022-11-02Run-tests: Rename "run" files to "run.py" David Srbecky
Make it explicit that they are python files. Make the file attributes non-executable. Test: test.py -b -r --host --optimizing --64 Change-Id: I874c8453032298bcc15dbd1030a3f7c0fd58254f
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-25run-test build: Explicitly call generate-sources David Srbecky
Let the scripts explicitly call it rather than making it part of the build system magic. It is much easier now with the context object. Do not spam build log output with non-error messages. Test: Generated artifacts are the same Change-Id: I03b1e317b4f542c27b635ddd9defdd5c0e2bcb3e
2022-10-24Revert^2 "Convert per-test run scripts to python." David Srbecky
This reverts commit 8d6a4e021e1dc4717939e05aee89c9b18e383d12. Reason for revert: Reland Test: test.py -r --all-target Test: diff emitted test commands before and after Change-Id: I8b99d9b3804615f2ebc50171a4368ad87d809300
2022-10-23Revert "Convert per-test run scripts to python." David Srbecky
This reverts commit 895c27039a57ec19efc8f526ac17b1ae28e2edd9. Reason for revert: Breaks tests Change-Id: If7d346b23731d32d1fdf31346bebcb658fbce421
2022-10-23Convert per-test run scripts to python. David Srbecky
Test: test.py -r --all-target Test: diff emitted test commands before and after Change-Id: I05003b5cde0e39ffc7d037ef875a45f13dd83755
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
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
2019-05-22Revert^2 "Add verifier fallback for JVMTI Get/SetLocalVariable" Alex Light
This reverts commit 99cbfb55fc7ac0f65b1ccdc7076219fcee383b92. This unreverts commit e48fd0b4780efadc6b3433fe7a56aa5be2a84325. We were incorrectly bounds-checking the register number. We were treating it as unsigned when it was actual signed. Previously this wouldn't matter since normally the debug-info won't have any information for negative slots but by falling back to the verifier we hit some check failures. Reason for revert: Fixed underlying issue with bad bounds check. Bug: 131711256 Change-Id: I0b859ce322f3b23f937b72d735db8f6870c40602
2019-05-22Revert "Add verifier fallback for JVMTI Get/SetLocalVariable" David Srbecky
This reverts commit e48fd0b4780efadc6b3433fe7a56aa5be2a84325. Reason for revert: Fails libjdwp tests. In particular: org.apache.harmony.jpda.tests.jdwp.StackFrame_SetValuesTest Bug: 131711256 Change-Id: Id46da7c0d26769f8f4bd469cdfb8049f6812295a
2019-05-22Add verifier fallback for JVMTI Get/SetLocalVariable Alex Light
The JVMTI Get/SetLocalVariable functions used to rely entirely on the Dex DebugInfo to determine the types of each of the registers. This could lead to problems since, to prevent possible stack corruption, we would not allow stack modification if the data was not present. In order to remove this restriction we will instead make use of the method verifier to ensure the modification is sensible when the DebugInfo is not present. Since reconstructing this information using the verifier is quite slow (compared to reading it from a table) we will only do this when the table is missing. Since the verifier lacks some of the information available when creating the DebugLocalInfo table some semantics will change depending on if the table is present or not. - When the DebugLocalInfo table is not present we cannot always distinguish between floats, ints, and other single-register primitive types. For simplicity all single-register primitive types can be modified and read by both the Float and Int versions of the local variable functions. - Similarly we cannot always distinguish between long and double variables. - Reference types are checked against what the verifier thinks they need to be according to type unification. This might be more or less specific than the types recorded in the functions source code. - Constant int/float '0' values and 'null' cannot always be differentiated by the verifier. Therefore, one may not always be able to modify some null or constant 0 registers. Test: ./test.py --host Bug: 131711256 Change-Id: I1c9d857ccdec752bfd4ebad76cc9ad96e143866c