aboutsummaryrefslogtreecommitdiff
path: root/java/java_test.go
Commit message (Collapse)AuthorAgeFilesLines
...
* add java_import to mixed buildSam Delmerico2022-07-261-0/+45
| | | | | | | | | Bug: 220168131 Test: go test ./java -run TestImportMixedBuild Test: USE_BAZEL_ANALYSIS=1 m CtsManagedProfileApp && verify jars are included from execroot/__main__ directory Test: build/bazel/ci/mixed_droid.sh Change-Id: I6d35a2389ea35525d532efc8474c71d2c8825646
* Merge "add multilib data_device_bins properties"Sam Delmerico2022-06-081-40/+150
|\
| * add multilib data_device_bins propertiesSam Delmerico2022-06-061-40/+150
| | | | | | | | | | | | | | | | | | | | | | Some targets need to be able to specify the specific architecture for a data_device_bin module. This commit adds new properties to allow specification of first, both, 32, or 64 multilib properties. Bug: 231448797 Bug: 232408185 Test: go test ./java -run TestDataDeviceBinsBuildsDeviceBinary Change-Id: I457cf4b1a9ccb28b46042f874c96bd0a87009fab
* | Revert "Revert "Use D8 by default for android_test""Jared Duke2022-06-021-2/+2
|/ | | | | | | | | | This reverts commit 4e445be558e5b41dd8ac279ed6d25c41a9f0cd7b. Reason for revert: GtsExoPlayerTestCases now uses multidex. Test: m + manual builds for test_suites_x86_64_coverage Change-Id: I608b3b79137b216f546446e1c4f89f4542572581 Bug: 192032291
* Revert "Use D8 by default for android_test"Jared Duke2022-05-231-2/+2
| | | | | | | | | This reverts commit 02edc1004757f6d6d5c2e2a93f1e8656ae2435cf. Reason for revert: Breaks test_suites_x86_64_coverage Bug: 233421462 Change-Id: I7b04d3fd7802be0f271ea3c29ef25e3d08ab1389
* Use D8 by default for android_testJared Duke2022-05-201-2/+2
| | | | | | | | | | | | | | | | android_test defaults to using R8, but with shrinking, optimization and obfuscation disabled, eliminating most of the benefits of R8. Instead, use D8 by default, improving build performance and avoiding any other issues that may arise in test-specific code related to whole-program R8 execution. An initial audit shows that android_test targets that *do* enable shrinking or optimization also explicitly opt in to R8. A follow-up CL will do the same for android_test_helper_app, but that requires some additional auditing of downstream targets. Bug: 192032291 Test: m + presubmit Change-Id: I5b14a0986dde210f241a77c3a93daacf9e53d667
* Use turbine instead of kapt for kotlin annotation processorsColin Cross2022-03-251-1/+1
| | | | | | | | | | | | | | Follow Bazel by using turbine instead of kapt to run annotation processors. This still requires using kapt to generate java stubs of kotlin soruces, then uses turbine to run annotation processors on the java stubs and any java sources to generate sources and resources, and passes the annotation processor generated sources to kotlinc and javac. Bug: 225013372 Test: m checkbuild Test: TestKapt Change-Id: I9c6fc496a9fba64658bb062538bc5f7b9478b07a
* Add AIDL enforce_permissions attributeThiƩbaud Weksteen2022-02-241-0/+36
| | | | | | | | | | | When set to true, this attribute will pass down the -Wmissing-permission-annotation flag to the aidl compiler. It is possible to declare a set of exceptions (for a graduable adoption). For now, only Java is supported. Test: build having the attribute enabled for frameworks/base Bug: 220214993 Change-Id: I54350199b4d980aef0050519e3daf1fef616d08c
* build device binary for java_test_hostSam Delmerico2022-01-261-0/+61
| | | | | | | | | | | This commit adds support for a java_host_test that requires a target binary to run. If the binary has host and target variants and is added as a dependency in the `data` attribute, then the host variant is used. Instead, we need a way to force the use of the target variant. Bug: 182919153 Test: add code from aosp/1647282/1 && atest AuthFsHostTest Change-Id: I68a6259b41a5e6809e1b82eec3122ffdf5067f56
* bp2build converts java_genrule and java_genrule_hostSam Delmerico2022-01-211-54/+0
| | | | | | | | | | Bp2build currently supports building genrules for cc modules, but does not support building java_genrule* modules. This commit adds this functionality. Bug: 213480907 Test: go test ./bp2build Change-Id: I473196c5bcf5582ba0c8faa65b5005f81ac973a4
* Prepend header jar for sharded javac compilationColin Cross2021-11-191-3/+3
| | | | | | | | | | | | | | | | | | When compiling without sharding javac will prefer classes built from source over classes in the classpath. Compiling with sharding puts the header classes for all the sources onto the classpath, including the sources that are not part of the current shard. Emulate the behavior when building without sharding by putting the header jar first on the classpath so classes are resolved from the rest of the sources before the real classpath. Also switch to using the header jar without static libs dependencies merged in, as those will already be present in the classpath. Test: m framework-minus-apex Test: m services.core Test: TestSharding Change-Id: Id11b39c15d89ce70da27d746a5c7e6b603c3c0f9
* Pass --min_sdk_version to aidl compilerJooyung Han2021-11-061-0/+30
| | | | | | | | | | | cc/java modules can have .aidl files as srcs. Pass min_sdk_version to the aidl compiler so that it can check some features against it. For example, ParcelableHolder AIDL type is available since 31. Bug: 205338951 Test: soong test && m Change-Id: I7ecab913e00c9b6a3ce870dacbe9773d2ddb7e93
* Propagate the dex jar path as an OptionalPath which is either valid orMartin Stjernholm2021-09-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | invalid with a message. This will allow propagating any error from the deapexer module for prebuilt APEXes to the location where the dex jars get used. It's only at those points that we can raise errors about not being able to extract files from the deapexer modules if they are invalid, and this way we avoid encoding knowledge there about why they may be invalid. To keep the refactoring limited it intentionally does not change any of the existing logic for when dexJarFiles are set or not (non-nil vs nil prior to this change), although there may be opportunity to use this for more conditions when dex jars aren't available. The refactoring is also not extended to dexpreopt.ClassLoaderContextMap. Test: m nothing Bug: 192006406 Change-Id: I68986dccd9a9b3fee4d24caa1947ea17a36caedc
* Rename BuildDir and NinjaBuildDir.Lukacs T. Berki2021-08-271-1/+1
| | | | | | | | | | These are just out/ and out/soong/ and the old names were quite confusing. Test: Presubmits. Merged-In: I999ca62162062f27e449f83ffb00fa580d4065b8 Merged-In: I2fcd80a9e376a6842a06aa104a9f6f5c5e16f8c7 Change-Id: Ib481d2aac40df8da1b74174dc8ec576c1cb48be0
* Replace android.BuildOs with Config.BuildOSColin Cross2021-07-201-5/+5
| | | | | | | | | Replace the android.BuildOs constant with Config.BuildOS so that it can vary based on the product config. Bug: 190084016 Test: all Soong tests Change-Id: Ia67f872d8b2ab788747a22e3a9659dc21c9775cd
* Allow disabling errorprone even when RUN_ERROR_PRONE is trueCole Faust2021-06-181-1/+65
| | | | | | | | | | | | Some modules use -XepDisableAllChecks to disable errorprone. However, this still causes them to be compiled twice when RUN_ERROR_PRONE is true. Allow the new enabled property to be set to false to disable errorprone entirely, so that those modules are only compiled once. Bug: 190944875 Test: New unit tests Change-Id: Ie68695db762fffcaf11bbbcb0509c4fcab73f5c5
* Add a build flag to always enable errorprone per-targetCole Faust2021-06-141-0/+28
| | | | | | | | | | | | | | | Currently, errorprone is only run if the RUN_ERROR_PRONE enviornment variable is true. Add a flag that individual modules can use to always enable errorprone. In a followup cl, I plan to add another flag that will force all errorprone checks to be errors, so that modules can be confident that they're not ignoring any errorprone checks. Bug: 190944875 Test: New unit test and manually Change-Id: Iab0c81642ed22a736add054147829e91a891d179
* Move java_sdk_library tests to sdk_library_test.goColin Cross2021-06-011-816/+0
| | | | | | | | Seperate the java_sdk_library tests into their own file. Bug: 186723288 Test: go test ./java/... Change-Id: I899c2946cb2234dc595a4281e64bbb239b89bda8
* Merge changes Ia74a2b83,I30a46c8f,Iac7c0149Jaewoong Jung2021-04-221-101/+0
|\ | | | | | | | | | | | | * changes: Add lint.strict_updatability_linting Move Java lint tests to lint_test.go Forbid bypassing updatability lint checks.
| * Move Java lint tests to lint_test.goJaewoong Jung2021-04-211-101/+0
| | | | | | | | | | | | Test: lint_test.go Bug: 182349282 Change-Id: I30a46c8f704e66cd04541c78d3f22a140d3284ef
* | Add new stub_only_static_libs attr for sdk_libraryAnton Hansson2021-04-221-20/+40
|/ | | | | | | | | | | | | | Allow java_sdk_libraries to include libraries statically into their stubs. The immediate use-case of this is to embed libcore notice files into their stubs. Also extend the java_sdk_library tests for impl/stub-only-libs, plus some not assert utils. Bug: 173186484 Bug: 184839599 Test: soong tests Change-Id: I1ebf2f35c048eab5cec5125482a0304fe660f188
* Reland: Add jni_libs property to java testsColin Cross2021-04-191-0/+33
| | | | | | | | | | | | Add jni_libs property to java tests and treat it as test data that should be copied to the lib or lib64 directory in the test directory. This relands I3a118b933ab30dcd731c6dc2708da9bc63ab5520 with fixes for the test on mac. Fixes: 176593487 Test: java_test.go Change-Id: I2f8c46643cff7a7ae6dc4d4dbad58f0396e45f09
* Merge "Revert "Add jni_libs property to java tests""Colin Cross2021-04-171-26/+0
|\
| * Revert "Add jni_libs property to java tests"Colin Cross2021-04-171-26/+0
| | | | | | | | | | | | | | | | | | This reverts commit 246164a055a529e081a7690cc9043b496757a30c. Reason for revert: broke the mac build Bug: 176593487 Change-Id: Id0242e37aa40d84d291bf7b8ee46dfe98c4d5905
* | Merge changes from topic "tvts-test-host-jni"Treehugger Robot2021-04-171-0/+26
|\| | | | | | | | | | | * changes: Add jni_libs property to java tests Add Target to cc.SharedLibraryInfo
| * Add jni_libs property to java testsColin Cross2021-04-161-0/+26
| | | | | | | | | | | | | | | | | | Add jni_libs property to java tests and treat it as test data that should be copied to the lib or lib64 directory in the test directory. Fixes: 176593487 Test: java_test.go Change-Id: I3a118b933ab30dcd731c6dc2708da9bc63ab5520
* | Introduce NewApi lint checksPedro Loureiro2021-04-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are enabling NewApi lint check where the min sdk != compile sdk. At the same time, we are introducing baseline files for existing projects that fail this check in order to keep the build running. At the very least we stop introducing new problems and teams might realise of risks in their projects they were not aware of. Bug: 150847901 Test: m lint-check Change-Id: Icfa5eb98cc6b6708149f0c52fac8fc1440d9c3b0 Merged-In: Icfa5eb98cc6b6708149f0c52fac8fc1440d9c3b0
* | Merge "Remove unused java testing methods"Paul Duffin2021-03-311-17/+0
|\ \
| * | Remove unused java testing methodsPaul Duffin2021-03-311-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also, stops exporting methods that are no longer used outside the java package. Bug: 181070625 Test: m nothing Change-Id: I23d35bbc21f82f2dae802aa53badda4c58b41024
* | | Remove varargs from RunTest(t *testing.T)Paul Duffin2021-03-311-1/+6
|/ / | | | | | | | | | | | | | | Use GroupFixturePreparers instead. Bug: 182885307 Test: m nothing Change-Id: Iaedb0ddc9d6a704f4d41363e705f3025a1291dc8
* | Remove extraneous calls to TestingBuildParams.RelativeToTop()Paul Duffin2021-03-301-8/+8
| | | | | | | | | | | | | | | | Deprecated the method to try and prevent any other uses being added. Bug: 183650682 Test: m nothing Change-Id: Ia6f43851e5a00c9d96af780e3bd21e03175e1a2f
* | Automatically call TestingBuildParams.RelativeToTop()Paul Duffin2021-03-301-2/+2
| | | | | | | | | | | | | | | | | | Fixes the few tests that break due to this and which cannot easily be separated into their own changes. Bug: 183650682 Test: m nothing Change-Id: Ia2f31213a1f114a78e66a81d89279ecde9f4c465
* | Split droidstubs out of droiddoc.goColin Cross2021-03-251-240/+0
| | | | | | | | | | | | | | | | Split part of droiddoc.go into droidstubs.go. Also split droiddoc_test.go and droidstubs_test.go out of java_test.go. Test: go test ./java Change-Id: Iea742e75b6925b135016f7bbf3a168c696a6c433
* | Support multiple rsp files in RuleBuilderColin Cross2021-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | The lint rule is manually creating a second rsp file because Ninja only supports on per rule. Move the support into RuleBuilder so that it can apply the same rewrites that it does to the primary one. Test: TestRuleBuilder_Build Change-Id: Iec250a2d60e74ccf1b4ad085a960fec6867ea559
* | Fix TestDroiddoc's reliance on absolute pathsPaul Duffin2021-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TestDroiddoc compares the value returned by OutputFiles(""), which will usually be absolute paths including the temporary buildDir, against paths returned from TestingBuildParam.RelativeToTop(), which does not currently change the Path contents and so will include absolute temporary paths. However, a follow up change to this will make the TestingBuildParam.RelativeToTop() also change the Path contents at which point this test would be comparing relative to absolute paths. So, this change makes sure that they are all converted to relative to top paths before comparison. Bug: 183650682 Test: m droid Change-Id: Ia4478f527af27a920945f5849525e5031cc5b8b6
* | Convert test that disallows non existent paths to use fixturesPaul Duffin2021-03-241-27/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change needed to add some additional files to the registered files for PrepareForTestWithJavaDefaultModules because otherwise they would fail when "TestAllowNonExistentPaths = false". Those files were being added by the TestJavaLintRequiresCustomLintFileToExist (albeit in some cases in different locations to that required by the default modules but as the files are needed by the modules defined in PrepareForTestWithJavaDefaultModules they should be defined in it. A couple of other places also provided some files so moving them into PrepareForTestWithJavaDefaultModules caused some conflicts which needed to be resolved. Bug: 183184375 Test: m nothing Change-Id: I76ce9f1673c1c1c4000635b76b8377d582224bf1
* | Fix "filename too long" issue on Luci caused by test namePaul Duffin2021-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | Stop including fields in the test name for TestJavaSdkLibraryEnforce to reduce its length to avoid the filename too long limit. Test: m nothing Check the lengths before (~240) and after (~74) to make sure there was a sizeable reduction. Change-Id: I275a1110e5102b8ea8376759f28c7c6333a5efee
* | Group all the preparations needed for testing dexpreoptPaul Duffin2021-03-241-2/+2
| | | | | | | | | | | | | | | | | | Make it easier to test dexpreopt functionality by grouping all the fixture preparations together. Bug: 177892522 Test: m nothing Change-Id: I94f66e3ec82efc4fd791f4fdab678d298565e452
* | Remove javaFixtureFactoryPaul Duffin2021-03-241-44/+49
| | | | | | | | | | | | | | | | | | Replaces uses of javaFixtureFactory with prepareForJavaTest and removes the unused javaFixtureFactory. Bug: 182885307 Test: m nothing Change-Id: I809772d14af2af211b9e15ad676fbdc06b07cd46
* | Remove unused test methods and buildDirPaul Duffin2021-03-241-123/+2
| | | | | | | | | | | | Bug: 182885307 Test: m nothing Change-Id: I251145a82479428a82f19cbde6b415d149acd619
* | Remove uses of buildDir from java/java_test.go and java/sdk_test.goPaul Duffin2021-03-241-51/+52
| | | | | | | | | | | | | | | | | | | | Remove any uses, either direct (or indirect via testJavaConfig or similar methods), of the package level buildDir variable from this file. Bug: 182885307 Test: m nothing Change-Id: I4d9dc39d3b1e5c37ba1f9e72da94048949c0fd17
* | Register java_plugin in PrepareForTestWithJavaBuildComponentsPaul Duffin2021-03-241-2/+0
| | | | | | | | | | | | Bug: 182885307 Test: m nothing Change-Id: I550d39ba46c548b6b099d8dc6a9c458ca931b2fa
* | Register the propagateRROEnforcementMutatorPaul Duffin2021-03-221-4/+0
| | | | | | | | | | | | | | | | | | This adds the registration of the mutator to the existing register... method which will include it in PrepareForTestWithJavaBuildComponents. Bug: 182885307 Test: m nothing Change-Id: I6cea716a3ff4d8abdb80543b7e0ddf22246ffa30
* | Add preparer for overlay pre-singleton registrationPaul Duffin2021-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | It appears as though this is the first pre-singleton type to actually be registered with the InitRegistrationContext as it failed due to an uninitialized map, so this change also fixes that. Bug: 182885307 Test: m nothing Change-Id: Ibbf6d0db5f3c2fcc89291a16aa5f16b8b5009bd3
* | Remove emptyFixtureFactory from apex and javaPaul Duffin2021-03-221-3/+17
| | | | | | | | | | | | Bug: 183235980 Test: m nothing Change-Id: I350b45e2f57430fb158f4141a566e75de17208cd
* | Merge changes Iab4e09d9,Icf2f24dd,I15be5ef1,Ic0db9619Colin Cross2021-03-191-7/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | * changes: Run lint actions in sbox Support sbox-in-RBE Move android package on top of remotexec Support sandboxing inputs in RuleBuilder
| * | Run lint actions in sboxColin Cross2021-03-181-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run lint actions in sbox with RuleBuilder.SandboxInputs. This copies all input files into the sandbox, which prevents the lint tool from finding nearby source files that were not presented to it. Using SandboxInputs requires use of PathForInput or PathForOutput anywhere a path is used outside of the RuleBuilderCommand methods that take paths so that they can be translated to the paths that will be used in the sandbox. Bug: 181681346 Test: lint_test.go Test: m lint-check dist Test: m USE_RBE=true RBE_LINT=true lint-check dist Test: m USE_RBE=true RBE_LINT=true RBE_LINT_EXEC_STRATEGY=remote lint-check dist Change-Id: Iab4e09d961891ef182643583d4d456e413bc5e39
* | | Merge "Remove javaMockFS()"Paul Duffin2021-03-191-2/+0
|\ \ \
| * | | Remove javaMockFS()Paul Duffin2021-03-181-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, removes the workaround that allowed preparers to override files added in javaMockFS(). The performance of the java tests was determined by running: m nothing rm -fr out/soong/.bootstrap/soong-java/test/ time m nothing Prior to starting this work that returned: real 1m30.060s user 33m3.028s sys 13m25.413s Immediately prior to this change that returned: real 1m2.777s user 14m14.352s sys 9m40.745s After applying this change that returned: real 0m20.282s user 3m7.429s sys 0m43.601s So, this reduced the real time cost of running the java tests from 90 seconds to 20 seconds. Bug: 182638834 Test: m nothing Change-Id: I30490fd40ddb0684a5a4975ce1811bab5dc79e4e
* | | | Merge "Fix TestTurbine to work without javaMockFS()"Paul Duffin2021-03-191-22/+14
|\| | |