aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/shell
Commit message (Collapse)AuthorAge
* Mark toolchain_test as flaky until we can uncover the cause and fix it.Gravatar jcater2017-12-22
| | | | PiperOrigin-RevId: 179962502
* Update bootclasspath handling for JDK 9Gravatar cushon2017-12-20
| | | | | | | rt.jar etc. no longer exist, retrieve the default bootclasspath contents using a Java program instead. PiperOrigin-RevId: 179747945
* Adjusts the filegroups generated for the Android NDK crosstool to correctlyGravatar ahumesky2017-12-20
| | | | | | | include certain toolchain binaries. RELNOTES: None. PiperOrigin-RevId: 179694510
* Change the definition of genrule to require a c++ toolchain.Gravatar cpeyser2017-12-20
| | | | | | This will allow a genrule implementation to make checks against the c++ target platform. PiperOrigin-RevId: 179692246
* remote: add directory support for remote caching and executionGravatar Hadrien Chauvin2017-12-20
| | | | | | Add support for directory trees as artifacts. Closes #4011. PiperOrigin-RevId: 179691001
* Ensure that the target package in the <instrumentation> tag of the ↵Gravatar jingwen2017-12-19
| | | | | | | | | | | | instrumentation android_binary's AndroidManifest.xml references the correct package name of the instrumented android_binary. During an instrumentation test, ART will use the targetPackage specified in the instrumentation APK's AndroidManifest to determine the application to be instrumented. We can perform this check in Bazel at execution time, before the apps are loaded onto the device. See android_instrumentation_test_integration_test.sh for the e2e example. GITHUB: https://github.com/bazelbuild/bazel/issues/903 RELNOTES: None. PiperOrigin-RevId: 179564246
* look for the prelude in each repository (fixes #1673)Gravatar Kevin Gessner2017-12-19
| | | | | | | | | | Instead of every package using the root repository's prelude, it is resolved in each repository for the packages in that repository. There weren't any tests using the prelude at all, so these are better than nothing. I wrote them as bash integration tests instead of Java tests because I couldn't get the prelude to work at all with `BuildViewTestCase` -- I'd be happy to share the busted test I wrote if someone would like to help debug it. Closes #3991. PiperOrigin-RevId: 179557018
* remote: Rename --remote_rest_cache to --remote_http_cacheGravatar Jakob Buchgraber2017-12-19
| | | | | | | | | | | Call it what it is. RELNOTES: --remote_rest_cache was renamed to --remote_http_cache. Both options keep working in this release, but --remote_rest_cache will be removed in the next release. Change-Id: I9e0b947f2184e0d543e7e19c5c33b6aa851d47d2 PiperOrigin-RevId: 179542826
* bazel_bootstrap_distfile_test: fix typoGravatar Klaus Aehlig2017-12-17
| | | | | | | | - BAZEL is written with a single Z - add missing equals symbol in the first argument to env Change-Id: Ib18a2cca306d9a0eee38416ce38565b530d8e5c6 PiperOrigin-RevId: 179341099
* bazel_bootstrap_distfile_test: run a more simple setupGravatar Klaus Aehlig2017-12-15
| | | | | | | | | | | | | The bootstrap-distfile test aims at verifying the completeness of the distribution archive. The functionality of workers is a different issue, so separate those concerns and do the test bootstrap in a simple setup, calling javac standalone (see #1250). Also, reduce the output to make the test log more readable. Improves on #4306. Change-Id: I839523628cd35f2deefc1a4dfdf0cf58a4d1f51a PiperOrigin-RevId: 179186615
* Rename --keep_incrementality_data to --track_incremental_state.Gravatar ccalvarin2017-12-14
| | | | | | | | | New name clears the namespace a 2nd flag that will wipe the build graph after the build. The old name would be confusing as it could easily apply to that, and so needs to be more specifically just about tracking state in the first place. The new flag can be clearly separate and about keeping state after the build. Partial roll forward of https://github.com/bazelbuild/bazel/commit/9321316b34767b06c3071b2cf2a4de189874fcce, with fixes to documentation that are still relevant. RELNOTES: Rename --keep_incrementality_data to --track_incremental_state PiperOrigin-RevId: 179078292
* Shell code cleanupGravatar Androbin2017-12-14
| | | | | | | | | | | | - Argument mixes string and array. Use * or separate argument. - Quote the grep pattern so the shell won't interpret it. - Use "${var:?}" to ensure this never expands to /* . - > is for string comparisons. Use -gt instead. - Quote the parameter to -name so the shell won't interpret it. Closes #4163. PiperOrigin-RevId: 179042046
* Perform ZipFilterAction on the instrumentation JAR using the target JAR as ↵Gravatar jingwen2017-12-13
| | | | | | | | | | filter. .class and R.class files are filtered out. During an instrumentation test, jars from both APKS will be loaded onto the same classloader by ART. To prevent runtime crashes due to duplicate classes, we strip the dupe class out from the instrumentation jar. GITHUB: #903 RELNOTES: None. PiperOrigin-RevId: 178983712
* Make linux-sandbox output execution statistics for executed commands.Gravatar ruperts2017-12-13
| | | | | | | For example, it now outputs resource usage statistics like the amount of user time and system time used. RELNOTES: None PiperOrigin-RevId: 178948958
* Use java.nio.file.Files.createTempDirectory() to create temporary directory ↵Gravatar ruperts2017-12-13
| | | | | | | | | | | | | | | | | in LocalSpawnRunner, to avoid a race condition. Aside: The old, real temporary directory paths looked like this: TMPDIR=/.../tmp15e_5dd5a8e8347813f5 The new, real temporary directory paths now look like this: TMPDIR=/.../local-spawn-runner.3217503035718074040 RELNOTES: None. PiperOrigin-RevId: 178903361
* Implement --(no)expand_test_suites flag.Gravatar dslomov2017-12-13
| | | | | | | | | --noexpand_test_suites flag will suppress expansion of test_suite targets into constituent tests, so that command-line aspects can analyze test_suite targets. RELNOTES: Added --(no)expand_test_suites flag. PiperOrigin-RevId: 178892829
* Enable local action execution statistics collection when the ↵Gravatar ruperts2017-12-12
| | | | | | | | | | | LocalSpawnRunner uses the process-wrapper to run commands. In particular, record metrics for user and system CPU execution time, block I/O and involuntary context switches. This feature is guarded behind a new option, --experimental_collect_local_action_metrics. RELNOTES: None. PiperOrigin-RevId: 178856077
* Move linux_sandbox_test from shell/bazel to shell/integration.Gravatar ruperts2017-12-12
| | | | | | | Also split off part of the linux_sandbox_test into the linux_sandbox_network_test. RELNOTES: None. PiperOrigin-RevId: 178816110
* Set configured_query_test size to 'medium' because it was timing out when ↵Gravatar juliexxia2017-12-12
| | | | | | set to 'small'. Also add to bazel build files. PiperOrigin-RevId: 178777977
* When linking mostly-static Linux binaries, link libstdc++.a explicitly.Gravatar John Millikin2017-12-12
| | | | | | | | | | | | | | | | | | This allows libstdc++ to be statically linked, which is normally only possible when invoking GCC as `g++` with the `-static-libstdc++` flag. Fixes https://github.com/bazelbuild/bazel/issues/2840 See https://github.com/envoyproxy/envoy/issues/415 for additional background and context. cc @htuch (for Envoy) and @calpeyser @hlopko (who I talked to earlier about this) I'm only doing this in the Linux toolchain because MacOS doesn't do static linking of system libs anyway, and I don't know enough about Windows or FreeBSD to test on those platforms. Closes #4031. PiperOrigin-RevId: 178762357
* Automated rollback of commit 9321316b34767b06c3071b2cf2a4de189874fcce.Gravatar ccalvarin2017-12-11
| | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Design change, 2 boolean flags instead of 1 enum flag *** Original change description *** Add --incremental_state_retention_strategy This option is intended to replace some of the uses of --batch. It lets users specify that builds should not be incremental, and how eagerly to discard the state that is kept around for incrementality. Note that for both values discard_eargerly and keep_for_life_of_build, the build graph is kept around until the next build. This may change. Will add tests for keep_for_life_of_build in a later change, for now it will warn that that feature is experimen... *** ROLLBACK_OF=178661777 RELNOTES: None. PiperOrigin-RevId: 178681472
* Add --incremental_state_retention_strategyGravatar ccalvarin2017-12-11
| | | | | | | | | This option is intended to replace some of the uses of --batch. It lets users specify that builds should not be incremental, and how eagerly to discard the state that is kept around for incrementality. Note that for both values discard_eargerly and keep_for_life_of_build, the build graph is kept around until the next build. This may change. Will add tests for keep_for_life_of_build in a later change, for now it will warn that that feature is experimental. RELNOTES: --[no]keep_incrementality_data is gone, replaced by the enum-valued --incremental_state_retention_strategy PiperOrigin-RevId: 178661777
* Fix: uploading artifacts of failed actions to remote cache stopped working.Gravatar olaola2017-12-11
| | | | | | | | | | | | | | | | To reproduce: run a failing test with --experimental_remote_spawn_cache or with --spawn_strategy=remote and no executor. Expected: test log is uploaded. Desired behavior: - regardless of whether a spawn is cacheable or not, its artifacts should be uploaded to the remote cache. - the spawn result should only be set if the spawn is cacheable *and* the action succeeded. - when executing remotely, the do_not_cache field should be set for non-cacheable spawns, and the remote execution engine should respect it. This CL contains multiple fixes to ensure the above behaviors, and adds a few tests, both end to end and unit tests. Important behavior change: it is no longer assumed that non-cacheable spawns should use a NO_CACHE SpawnCache! The appropriate test case was removed. Instead, an assumption was added that all implementations of SpawnCache should respect the Spawns.mayBeCached(spawn) property. Currently, only NO_CACHE and RemoteSpawnCache exist, and they (now) support it. TESTED=remote build execution backend. WANT_LGTM: philwo,buchgr RELNOTES: None PiperOrigin-RevId: 178617937
* Rollforward of rollback commit 078c25c2f3cce5f407e28938ab2f3429e4609b19 with ↵Gravatar juliexxia2017-12-08
| | | | | | properly executable shell and correct test outputs. PiperOrigin-RevId: 178376681
* bazel integration tests: chmod +x configured_query_test.shGravatar juliexxia2017-12-07
| | | | | | | | | | | | | | Automated rollback of commit d6736496f0e1c35b7567f331988997892e32dfda. *** Reason for rollback *** broken test *** Original change description *** Report empty query results. PiperOrigin-RevId: 178280711
* bazel integration tests: chmod +x configured_query_test.shGravatar Googler2017-12-07
| | | | | | | | | RELNOTES: None. R_FUTURE=juliexxia CC=blaze-firehose+cl DELTA=0 (0 added, 0 deleted, 0 changed) DELTA_BY_EXTENSION=sh=0 PiperOrigin-RevId: 178277209
* Report empty query results.Gravatar juliexxia2017-12-07
| | | | PiperOrigin-RevId: 178250626
* Disallow undeclared access to the $(JAVA) and $(JAVABASE) template variables.Gravatar lberki2017-12-06
| | | | | | | | | If a rule needs these template variables, it will need to declare a dependency on them in the future by adding @bazel_tools//tools/jdk:current_java_runtime to its toolchains= attribute. RELNOTES[INC]: In order to access the template variables $(JAVA) and $(JAVABASE), @bazel_tools//tools/jdk:current_java_runtime needs to be added to the toolchains= attribute from now on. RELNOTES: None. PiperOrigin-RevId: 178070807
* Make ProcessWrapperUtil aware of the execution statistics file, and add new ↵Gravatar ruperts2017-12-05
| | | | | | | ExecutionStatisticsProvider. RELNOTES: None. PiperOrigin-RevId: 178056182
* Check for null build file returned from getBuildFileForPackage.Gravatar jcater2017-12-05
| | | | | | This can occur in genqueries when a referenced package isn't in the scope. PiperOrigin-RevId: 178038701
* Moving the RemoteWorker into tools/remote directory.Gravatar olaola2017-12-05
| | | | | | | | This is because I want to add another remote execution related tool, the remote_client, which will use the Remote Execution API to fetch blobs from a remote cache. I will use this tool as part of end-to-end tests for remote execution. TESTED=remote integration tests, presubmit RELNOTES: None PiperOrigin-RevId: 177995895
* Add --experimental_java_coverage.Gravatar elenairina2017-12-05
| | | | | | | | | | | | | | | | | | Context: java_import or other custom rules (genrules or Skylark) do not propagate coverage information. Coverage metadata is retrieved from the compilation information and it is passed around through providers as Artifact(s). The problem with the current implementation is that there is no way of retrieving instrumentation metadata from arbitrary jars provided by java_import or other custom rules. --experimental_java_coverage solves the issue presented above ONLY for the java rules (has no effect for android/[]/etc). Implementation details: * For each build jar create a .txt file containing the relative path of each Java file. This file is included in the build jar. It is used for recreating the correct path for each covered file when included in the coverage report. * java_binary/java_test will set 3 environment variables: 1) JACOCO_METADATA_JAR - in experimental mode will be a txt file containing all the jars considered for collecting coverage (JacocoCoverageRunner filters out the ones that don't have .uninstrumented.class files). In non-experimental mode will be a jar containing all the instrumented class files. 2) JACOCO_MAIN_CLASS - The main class to be called for the current coverage run. Previously this information was embedded in the JACOCO_METADATA_JAR's manifest. 3) JACOCO_JAVA_RUNFILES RELNOTES: --experimental_java_coverage is available for testing. PiperOrigin-RevId: 177941471
* Platform options are no longer experimental.Gravatar jcater2017-12-04
| | | | | RELNOTES: The --host_platform and --platform flags are no longer experimental. PiperOrigin-RevId: 177863761
* Remove `-R` flags from the MacOS crosstool template.Gravatar John Millikin2017-12-04
| | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/4028 Closes #4029. PiperOrigin-RevId: 177813419
* Fix getBuildFiles to not assume BUILD is the name of the build file.Gravatar John Cater2017-12-04
| | | | | | | Fixes #4056. Change-Id: Ia7425c2146f15e9293605ee3da53007805e82275 PiperOrigin-RevId: 177813070
* Set default value of incompatible_load_argument_is_label to true.Gravatar laurentlb2017-12-04
| | | | | | | RELNOTES: First argument of 'load' must be a label. Path syntax is removed. (label should start with '//' or ':'). PiperOrigin-RevId: 177802628
* Change Bazel's default hash function to SHA256. Fixes #3193Gravatar buchgr2017-12-03
| | | | | | | RELNOTES: Bazel's default hash function was changed from MD5 to SHA256. In particular, this affects users of remote caching and execution, as all hashes will be SHA256 by default. PiperOrigin-RevId: 177740702
* Automated rollback of commit a7a9d56539a467ef095d3003a16d33922d9505a5.Gravatar ajmichael2017-11-30
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks lots of web_test targets (b/69963706) *** Original change description *** Implemented fix for case when 'use_testrunner' attribute works interconnected with 'main_class' in java_test rule. for manual testing I used BUILD file: java_test( name = "mytest", srcs = glob(["*.java"]), main_class = "com.test.Test", use_testrunner = 1, ) RELNOTES: java_tests no complain when use_testrunner is explicitly set to 1 and main_class is set. PiperOrigin-RevId: 177517757
* Move bazel conditions into src/conditions.Gravatar tomlu2017-11-30
| | | | | | | This will enable an easier transition from checked-in BUILD files to ones generated by copybara. RELNOTES: None PiperOrigin-RevId: 177514519
* Update tests to use the label-based load() syntax.Gravatar laurentlb2017-11-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 177487913
* Update some of the tests to use the label-based load() syntax.Gravatar laurentlb2017-11-30
| | | | | RELNOTES: None. PiperOrigin-RevId: 177476726
* remote: don't hide non-test failures behind test failures. Fixes #4082Gravatar buchgr2017-11-30
| | | | | | | | | | Bazel should display the root cause of a test failure to the user. For example, if a test could not be executed on a remote executor due to there being no network connection, then it shouldn't display the test as failed but tell the user about the network error. RELNOTES: PiperOrigin-RevId: 177439578
* Fix protoc_compiler variable in testenv.sh and add ↵Gravatar ruperts2017-11-29
| | | | | | | //third_party/protobuf:protoc dependency to process_wrapper_test. RELNOTES: None. PiperOrigin-RevId: 177399066
* Don't use //base:system_malloc for spend_cpu_time testing tool.Gravatar ruperts2017-11-29
| | | | | RELNOTES: None. PiperOrigin-RevId: 177342763
* Add some minor debugging messages to discard_analysis_cache_test, ↵Gravatar janakr2017-11-29
| | | | | | | | purportedly to diagnose issue #4181. My real hope is to achieve the effect I got in discard_graph_edges_test, where the debugging messages seem to have made the flakiness go away, but since this is less multithreaded, I'm less hopeful. PiperOrigin-RevId: 177325229
* Implemented fix for case when 'use_testrunner' attribute works ↵Gravatar dbabkin2017-11-29
| | | | | | | | | | | | | | | | interconnected with 'main_class' in java_test rule. for manual testing I used BUILD file: java_test( name = "mytest", srcs = glob(["*.java"]), main_class = "com.test.Test", use_testrunner = 1, ) RELNOTES: java_tests no complain when use_testrunner is explicitly set to 1 and main_class is set. PiperOrigin-RevId: 177291746
* Various Shell Script Fixes and Improvements - Part OneGravatar Androbin2017-11-29
| | | | | | | | see #4023 Closes #4051. PiperOrigin-RevId: 177279457
* Make process-wrapper output execution statistics for executed commands.Gravatar ruperts2017-11-28
| | | | | | | For example, it now outputs resource usage statistics like the amount of user time and system time used. RELNOTES: None PiperOrigin-RevId: 177263221
* Shard android_sdk_integration_test.sh. 45 seconds (60%) reduction.Gravatar jingwen2017-11-28
| | | | | | | | | | | | | | Before: //src/test/shell/bazel/android:android_sdk_integration_test PASSED in 75.4s After: //src/test/shell/bazel/android:android_sdk_integration_test PASSED in 30.2s Stats over 3 runs: max = 30.2s, min = 16.0s, avg = 22.4s, dev = 5.9s RELNOTES: None. PiperOrigin-RevId: 177155880
* Shard android_ndk_integration_test.Gravatar ajmichael2017-11-27
| | | | | | | | | | | | | | | | | Before this CL with --runs_per_test=10 on 2015 Macbook Pro INFO: Elapsed time: 622.222s, Critical Path: 314.33s //src/test/shell/bazel/android:android_ndk_integration_test TIMEOUT in 10 out of 10 in 314.3s Stats over 10 runs: max = 314.3s, min = 306.1s, avg = 308.9s, dev = 3.5s After this CL with --runs_per_test=10 on 2015 Macbook Pro INFO: Elapsed time: 875.356s, Critical Path: 148.11s //src/test/shell/bazel/android:android_ndk_integration_test PASSED in 148.1s Stats over 60 runs: max = 148.1s, min = 25.3s, avg = 70.2s, dev = 38.7s RELNOTES: None PiperOrigin-RevId: 177048666