aboutsummaryrefslogtreecommitdiff
path: root/dexmaker/src/main/java/com/android/dx/stock/ProxyBuilder.java
AgeCommit message (Collapse)Author
2018-05-21DO NOT MERGE: Revert "DO NOT MERGE: Revert "Allow mocks to call blackisted ↵android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r19android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11pie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-dr1-releasepie-dr1-devpie-devPhilip P. Moltmann
APIs"" This reverts commit 8738f6764b9f61eb11ad678cad6d9434b4133731. Reason for revert: This was only a temporary revert. Now that the real issue is fixed, we can submit this again Bug: 80041014 Test: vts-tradefed run host --class com.android.tradefed.device.metric.VtsCoverageCollectorTest atest CtsActivityManagerDeviceTestCases atest CtsInputMethodTestCases Change-Id: I8d0ac45e3fe73c1870cf08f989b6d39f09923183
2018-05-21DO NOT MERGE: Revert "Allow mocks to call blackisted APIs"Philip P. Moltmann
This reverts commit 5529c6ea5fd4cb3959f11c9b4b114361a3db2f73. Bug: b/80041014 Change-Id: I01752919321eb5f7bfca8b069c3b13edb5d6ce95
2018-05-18Allow mocks to call blackisted APIsPhilip P. Moltmann
Mark the following classes as trusted: - All generated mock classes as they might directly call blacklisted super-methods - The leniant copy tool as it copies blacklisted fields - The MockMethodAdvice as it calls blacklisted super-methods via reflection Test: atest CtsInlineMockingTestCases CtsMockingTestCases CtsMockingDebuggableTestCases Fixes: 78235528 Change-Id: I374de11656ffa4a506f6c4436fcc45fe4b50af85
2017-12-12Update dexmaker to latest (master) statePhilip P. Moltmann
This adds dexmaker-mockito-inline support and dexmaker-mockito-*-tests. Inline mocking will allow mocking of final methods/classes. Bug: 63538681 Test: cts-tradefed run cts-dev -m CtsMockingTestCases Change-Id: Id8b88639abe0a84642273eae43322df09068a782
2017-03-21Scan for methods in extra interface hierarchyPaul Duffin
The ProxyBuilder was not traversing the interface hierarchy of the extra interfaces provided by the caller to find methods to proxy. That resulted in an AbstractMethodError when those methods were called. (cherry picked from d6b8d02d4fc7d57f0b72dba598b6320ef02a8213) Bug: 36407367 Bug: 32912773 Test: Added a failing test then fixed it, reran tests Change-Id: If68105da3b7e62383c8fa8ececc21383b299d854
2017-03-16Reapply - Hacks to allow mocking of package private classesPaul Duffin
2 things are required to allow mocking for package private classes. First is creating the mock in the same class as the base, that part is simple and seems to have no effect. The second is to have a matching ClassLoader as the source class. To make the classloader match, instead of generating a new ClassLoader, add the new dex to the existing one and share the base class's ClassLoader. Since this is a persistent change and could affect the process, it will be opt-in through setting a system property. This also appears to have unintended speedup in the tests I was testing, possible through cache fixes or brokenness. (cherry picked from commit 31b974435499d3c9769ed6a746e946187f3be64f) Test: Add System.setProperty("dexmaker.share_classloader", "true) to SysuiTestCase then runtest systemui Change-Id: I35c805ee3797ff151ac19bd0c931ebfd41d3b670
2017-03-15Update to version 2.2.0 and make it buildPaul Duffin
Updated using ./update_source.sh 2.2.0 Added lib directory to contain prebuilt versions of the dx and dex libraries to replace the contents of the dx directory which was deleted upstream. Bug: 36231644 Test: make checkbuild Change-Id: I31de03f40e4af097be01b5d9f2fe2c71ae879b54