aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
Commit message (Collapse)AuthorAge
...
* Introduce the DataBindingContext interface as part of centralizing the data ↵Gravatar corysmith2018-08-03
| | | | | | | binding processing pipeline. RELNOTES: None PiperOrigin-RevId: 207312398
* Make BES tolerant to duplicate artifacts in output groups.Gravatar tomlu2018-08-03
| | | | | | | It is possible to create duplicate artifacts with different owners, so we have to tolerate this when uploading files. RELNOTES: None PiperOrigin-RevId: 207302014
* Pass digest to Chunker construction when available.Gravatar tomlu2018-08-03
| | | | | | | | | * Refactor Chunker constructor to a builder to reduce constructor overload. * Pass digest into this where we have it * Redo ensureInputsPresent to not lose the missing digests during processing so we can pass them to the Chunker constructor. RELNOTES: None PiperOrigin-RevId: 207297915
* Introduce a new file-based logging handler for Bazel.Gravatar arostovtsev2018-08-03
| | | | | | | | | | | | | | | | | | | | | | It provides a number of features that we want and whose combination cannot be accomplished using the standard FileHandler: * Using a different filename per server process, by putting a timestamp and process ID in the filename. This means Bazel will no longer overwrite its log when the server is restarted, making it easier for developers and maintainers to diagnose issues. * Putting the hostname and username in the filename (useful when running on a shared network filesystem). * Automatically setting a symlink to the latest log file, ensuring that the latest log can still be found under the usual Bazel server log path. * Providing an API for getting the filename of the current log file, for use by Bazel itself. * Cleaning up old log files when their total size exceeds a set limit. This commit only introduces the handler; its usage in Bazel will be enabled by a follow-up commit. RELNOTES: None. PiperOrigin-RevId: 207274587
* C++: Change Skylark API whitelisting to be part of flag.Gravatar plf2018-08-03
| | | | | | | | This uses SkylarkSemantics now instead of the C++ configuration. The flag is: --experimental_cc_skylark_api_enabled_packages RELNOTES:none PiperOrigin-RevId: 207235431
* Write print(x) instead of print x for python3 compatibilityGravatar Loo Rong Jie2018-08-02
| | | | | | | | There is only one argument, so this shouldn't affect Python 2. Closes #5653. PiperOrigin-RevId: 207200473
* Change the list of rc files accepted.Gravatar ccalvarin2018-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The old list was, in order: - %workspace%/tools/bazel.rc (unless --nomaster_bazelrc) - %binary_dir%/bazel.bazelrc (unless --nomaster_bazelrc) - system rc, /etc/bazel.bazelrc or in %ProgramData% for Windows (unless --nomaster_bazelrc) - the first of the following gets called the "user" bazelrc - path passed by flag --bazelrc - %workspace%/.bazelrc - $HOME/.bazelrc The new list is hopefully a bit more consistent, as: - system rc (unless --nosystem_rc) - workspace, %workspace%/.bazelrc (unless --noworkspace_rc) - user, $HOME/.bazelrc (unless --nohome_rc) - command-line provided, passed as --bazelrc or nothing if the flag is absent. This list removes two less than useful locations, duplication in the Workspace directory, and the rc next to the bazel binary. This location made sense at Google but is generally nonsensical elsewhere so we are removing it. It also stops the user local rc file from being overriden by passing in a custom file in --bazelrc. In both old and new, --ignore_all_rc_files disables all of the above. For a transition period, any file that you would have loaded but was not read will cause a WARNING to be printed. If you want the old file to still be read without moving its location, you can always import it into one of the new standard locations, or create a symlink. Closes #4502, except for cleanup to remove the warning after a transition period of 1 Bazel version has passed. RELNOTES[INC]: New bazelrc file list. PiperOrigin-RevId: 207189212
* Thread a path resolver through target/aspect complete event.Gravatar tomlu2018-08-02
| | | | | | | At the moment, an identity path resolver is passed. This will later be replaced by a contextual path resolver. RELNOTES: None PiperOrigin-RevId: 207138772
* Add support for VirtualActionInputs to the remote cache.Gravatar tomlu2018-08-02
| | | | | RELNOTES: None PiperOrigin-RevId: 207137932
* PiperOrigin-RevId: 207121273Gravatar cushon2018-08-02
|
* Keep the analysis cache between builds when only trimmed test options change.Gravatar mstaib2018-08-02
| | | | | | | | | | | | | | | | | | | | When --trim_test_configuration is on and the only options which have changed are from the (trimmed) TestOptions (not counting trim_test_configuration itself), preserve the analysis cache rather than dropping it all. This means that as long as no non-test options change, non-test rules will not need to be reanalyzed. This also applies to test rules which were analyzed with this configuration since the last time non-test options changed. For example: --test_arg=A //test (//test and its dependencies are analyzed) --test_arg=B //test (only //test is reanalyzed) --test_arg=A //test (no reanalysis needed) --test_arg=A --define=Test=A //test (full reanalysis) --test_arg=A //test (full reanalysis) RELNOTES: None. PiperOrigin-RevId: 207105915
* Add text output to aquery.Gravatar twerth2018-08-02
| | | | | | RELNOTES[NEW]: The aquery command now supports --output=text. PiperOrigin-RevId: 207096607
* Docker sandbox: Pass client environment to "docker" when calling it.Gravatar Philipp Wollermann2018-08-02
| | | | | | | | Otherwise Docker will not be able to read the configuration of the current user and might fail to download containers from registries that require authentication. Closes #5721. PiperOrigin-RevId: 207094268
* remote: add support for directory inputs in runfilesGravatar buchgr2018-08-02
| | | | | | | | | | | | | | | | Add support for tree artifacts (ctx.action.declare_directory(...)) in runfiles. Before this change we would throw away the information about the files inside a tree artifact before executing an action. That's fine for local execution where the sandbox just copies/symlinks a directory and doesn't care much what's inside. However, in remote execution we actually need to upload each individual file and so we need to be aware of all individual files not just directories. This change makes it so that this information is made available to a SpawnRunner via the SpawnInputExpander. RELNOTES: None PiperOrigin-RevId: 207091668
* Automated rollback of commit a6255612e4892729d3758775c76085b26b9bc584.Gravatar twerth2018-08-02
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks FDO builds, see http://b/112112125 *** Original change description *** Remove PerActionFileCache Instead, make ActionMetadataHandler implement the MetadataProvider interface. This fixes an issue where an action that runs two spawns where one depends on an output of the other was unable to get the metadata for the intermediate output. We don't currently have actions that do this, but we will have in a future change (which will also implicitly act as a regression test). PiperOrigin-RevId: 207084179
* Add a flag to evaluate the top level transitions in SkyframeGravatar ulfjack2018-08-02
| | | | | | | | | | | | | | | | | | | | | | | | This adds a new PrepareAnalysisPhaseFunction, which started out as a copy of some existing code from SkyframeExecutor, BuildView, AnalysisPhaseRunner, AnalysisUtils, and ConfigurationResolver, which was then modified to work inside Skyframe. Most of our tests already work with the new code, except for some of the tests related to configuration trimming in combination with dependency cycles. The reason for this is that we can only recover from dependency cycles at the end of a Skyframe invocation, but never inside a Skyframe invocation. The new code therefore cannot return partial results like the old code. This seems to make null builds a bit faster. In my testing, I saw null build times for a single test target go from ~50ms to ~40ms. This is probably due to slightly better caching - it seems that computing the configuration transitions and top-level targets is non-negligible, even if there's only a single top-level configuration for a single top-level target. This might be an even bigger win if there are a lot of top-level targets and configurations. PiperOrigin-RevId: 207083192
* Return Java providers only onceGravatar elenairina2018-08-02
| | | | | | | through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 207068520
* Add a normal startup-option for setting the digest function.Gravatar ccalvarin2018-08-01
| | | | | | | | | We continue to support the jvm property -Dbazel.DigestFunction, for backwards compatibility, but this will go away. The startup-option is marked experimental for now as we iron out issues. (note: leaving this out of release notes until the experimental tag is removed) As part of this refactor, the default constructor calls for FileSystem and derived classes will now use this default. This should remove the need for constructors that accept custom hash functions. RELNOTES: None. PiperOrigin-RevId: 207035217
* Fix tests to work when the default value of the flag ↵Gravatar dbabkin2018-08-01
| | | | | | | | | --experimental_enable_tools_defaults_package flipped to false RELNOTES:none PiperOrigin-RevId: 206982558
* Pass a path to ActionExecutedEvent that is resolved via ActionExecutionContext.Gravatar tomlu2018-08-01
| | | | | | | If the output artifact is backed by a different file system then we need to use that file system later. RELNOTES: None PiperOrigin-RevId: 206981369
* Only detect artifact conflicts between targets in current build.Gravatar tomlu2018-08-01
| | | | | | | Previously, two successive builds of targets A and B would fail if the two sets had conflicting actions. Now, only fail such builds if the targets from the current build has action conflicts. RELNOTES: None PiperOrigin-RevId: 206974011
* Refactor setupPackageCache to get all BuildConfiguration.Options references ↵Gravatar juliexxia2018-08-01
| | | | | | | | out of it. Setting up the package cache is necessary for proper loading. In the future, BuildConfiguration.Option options will be targets that need to be loaded in order to be parsed. Thus, we will need to be able to do loading before BuildConfiguration.Options are parsed. PiperOrigin-RevId: 206964473
* Make sure that user-level log messages are not lost in a buffer if debugGravatar ccalvarin2018-08-01
| | | | | | | | | | | logging is turned off. WARNINGs, ERRORs, and simple USER messages get printed to stderr when debug logging is disabled, which it is by default. However, before this change, these were lost if they were sent to BAZEL_LOG before Bazel knew whether or not debug logging was requested. This fixes that by maintaining separate buffers, and dumping only the appropriate one to stderr once we know whether or not it is wanted. Maintaining the separate buffer also allows for it to be easy to, in the future, allow logging to multiple places, if we are logging details to a file and user-level details to stderr, for example. RELNOTES: None. PiperOrigin-RevId: 206960686
* Automated rollback of commit 15b27e46ad766e777fb898f39bff06efa9268c2a.Gravatar Googler2018-08-01
| | | | | | | | | Keep the usage of Streams in place. Keep the test in place, updated it with the new expected values. Only removed the neverlink filter. RELNOTES: none. PiperOrigin-RevId: 206951071
* Automated rollback of commit 38899f708923d6a7e1edd011af2ba70f505bb4c9.Gravatar twerth2018-08-01
| | | | | | | | | | | | | | | *** Reason for rollback *** Necessary for [] *** Original change description *** Return Java providers only once through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 206915058
* Remove output jar from runfiles and the ijar from the OutputJar when sourcesGravatar Googler2018-07-31
| | | | | | | are not provided. RELNOTES: none. PiperOrigin-RevId: 206768891
* Removes serialization class that introduced bug.Gravatar plf2018-07-31
| | | | | RELNOTES:none PiperOrigin-RevId: 206767138
* Fix bazel_docker_sandboxing_test by updating it to use the latest ↵Gravatar philwo2018-07-31
| | | | | | | bazel-toolchains. RELNOTES: None. PiperOrigin-RevId: 206766616
* Actually run aquery testGravatar twerth2018-07-31
| | | | | RELNOTES: None PiperOrigin-RevId: 206765416
* Add the source jars of exports to the list of transitive source jars.Gravatar Googler2018-07-31
| | | | | RELNOTES: none. PiperOrigin-RevId: 206760974
* Clearing //tools/defaults:*Gravatar dbabkin2018-07-31
| | | | | | | | Replaced reference to //tools/defaults:crosstool by //tools/cpp:crosstool. Added Target //tools/cpp:crosstool to base test environment setup. RELNOTES:none PiperOrigin-RevId: 206747334
* Add aarch64 embedded JDK config, MacOS mock toolchain settingsGravatar Arielle Albon2018-07-31
| | | | | | | | | | | | | | | Hi, This PR is for additional work to get the tests running correctly on Aarch64. One key issue was that the default embedded jvm used by default was X86_64 and does not work on other architectures. To support this I have added a new constraint, however I will refine this in case a version of Darwin becomes available on aarch64. I'll do the work to find a good arm32 toolchain in a future CL. I do not have access for ppc or z390 to repair those architectures. Either way, hope this is good for you. Closes #5525. PiperOrigin-RevId: 206717726
* Do not collect source jars for neverlink targets.Gravatar Googler2018-07-31
| | | | | RELNOTES: none. PiperOrigin-RevId: 206717454
* testenv.sh: do not run "bazel info" unnecessarilyGravatar Laszlo Csomor2018-07-31
| | | | | | | | | | | | | | | | | | | | testenv.sh no longer runs "bazel info bazel-bin" and "bazel info bazel-genfiles", because the only test that needs this information is bazel_sandboxing_test.sh This saves 1-2 seconds on Windows in every shell test setup. Also, on Windows we can safely run Bazel in a subshell since https://github.com/bazelbuild/bazel/issues/3148 is fixed. Change-Id: If9873221d536f1acfd4849afbfc83b94311de2bd Closes #5707. Change-Id: I04e37c4d5f794017a6050253d8d1b8a8ac43a6d1 PiperOrigin-RevId: 206714921
* Make explicit the contract of ConfiguredTarget builders returning null when ↵Gravatar cparsons2018-07-30
| | | | | | | there are rule errors. RELNOTES: None. PiperOrigin-RevId: 206652580
* Internal changeGravatar ruperts2018-07-30
| | | | PiperOrigin-RevId: 206642715
* Automated rollback of commit be88b8539b30d1c36c68b0f6acfe1e9ae010db3b.Gravatar cparsons2018-07-30
| | | | | | | | | | | | | *** Reason for rollback *** Concerns were raised about this breaking change, so rolling back to be safe. *** Original change description *** Throw a rule error when a skylark rule implementation returns multiple providers of the same type. RELNOTES: A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type. PiperOrigin-RevId: 206629186
* Improve artifact->owner label accounting in two ways. First, don't do the ↵Gravatar janakr2018-07-30
| | | | | | full mapping unless requested. This gets rid of any performance issue for the vast majority of builds. Second, if requested, use a custom data structure so that we don't have to create a full HashSet for artifacts whose only owning labels are their own owner labels. PiperOrigin-RevId: 206610370
* Return Java providers only onceGravatar elenairina2018-07-30
| | | | | | | through JavaInfo, instead of returning them also through ConfiguredTarget. Since these providers can not be found in ConfiguredTarget anymore they have to be retrieved from JavaInfo instead. RELNOTES: None. PiperOrigin-RevId: 206585413
* Add manifestProtoOutput produced during Java compilation to the OutputJar so ↵Gravatar Googler2018-07-30
| | | | | | | that it can be accessed in Skylark. One example where this is used is in Android IDL processing where the manifestProtoOutput is used to split out the Android IDL generated Java classes from the overarching outputJar produced by the android_library rule. RELNOTES: none PiperOrigin-RevId: 206580880
* Make the fallback strategy for Bazel's remote execution configurable.Gravatar philwo2018-07-30
| | | | | | | | | RELNOTES: When using Bazel's remote execution feature and Bazel has to fallback to local execution for an action, Bazel used non-sandboxed local execution until now. From this release on, you can use the new flag --remote_local_fallback_strategy=<strategy> to tell Bazel which strategy to use in that case. PiperOrigin-RevId: 206566380
* Automatic code cleanup.Gravatar Googler2018-07-30
| | | | PiperOrigin-RevId: 206564363
* Windows,tests: port execution_phase_testsGravatar Laszlo Csomor2018-07-30
| | | | | | | | | | | | | | //src/test/shell/integration:execution_phase_tests now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: Ia46f26d7fa428cc17cd6988859d427165174fe29 Closes #5688. Change-Id: I5d001825431e8a0ee7d2ce6be911544b72c3bdd2 PiperOrigin-RevId: 206560081
* Windows,tests: port startup_options_testsGravatar Laszlo Csomor2018-07-30
| | | | | | | | | | | | | | //src/test/shell/integration:startup_options_tests now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I255b227f7b6b788f21b45b743e7065a646252a36 Closes #5706. Change-Id: Ibee4997783a820858fc2d2bdda02082a91385d0e PiperOrigin-RevId: 206551029
* Windows,tests: port experimental_ui_testGravatar Laszlo Csomor2018-07-30
| | | | | | | | | | | | | | //src/test/shell/integration:experimental_ui_test now runs on Windows. See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I7997e8a2e8dce9377c0326b9ed3f6c55a09b2708 Closes #5690. Change-Id: I7997e8a2e8dce9377c0326b9ed3f6c55a09b2708 PiperOrigin-RevId: 206535860
* Windows,tests: port loading_phase_testsGravatar Laszlo Csomor2018-07-29
| | | | | | | | | | | | | | | | | | //src/test/shell/integration:loading_phase_tests now runs on Windows. The inherently incompatible parts of the test are now in //src/test/shell/integration:loading_phase_posix_tests See https://github.com/bazelbuild/bazel/issues/4292 Change-Id: I90db31449e72aed2138916eed6289bcc20af5cae Closes #5685. Change-Id: I38727aed1b548ec8b566f99551e63cceac78180b PiperOrigin-RevId: 206533515
* Make sure the --host_platform_remote_properties_override flags isGravatar John Cater2018-07-27
| | | | | | | | | | | | | honored when creating the host platform. Fixes #5695. Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86 Closes #5696. Change-Id: Iaa99c8189421893440e5e5140450c70de69d7b86 PiperOrigin-RevId: 206371468
* Throw a rule error when a skylark rule implementation returns multiple ↵Gravatar cparsons2018-07-27
| | | | | | | providers of the same type. RELNOTES: A rule error is now thrown if a Skylark rule implementation function returns multiple providers of the same type. PiperOrigin-RevId: 206371385
* Automated rollback of commit 7e87730de985b7099b9b683571d58efdaab70890.Gravatar ccalvarin2018-07-27
| | | | | | | | | | | | | | | | | *** Reason for rollback *** Go back to the default constructor - instead of requiring everywhere to know the correct hash function, we'll have the default rely on global state. It will make transition easier, even if it makes the origin of the hash less obvious. *** Original change description *** Remove default MD5 in most of Bazel's virtual filesystems. This forces the ex-default to be explicit in a lot of tests, but I'd rather that than have the risk of implicit md5-use in production code. To keep this CL smaller, do not remove the default from UnixFS quite yet. RELNOTES: None. PiperOrigin-RevId: 206358838
* Automated rollback of commit db01c6f926bcb4774d901797c59f51dd54c05624.Gravatar janakr2018-07-27
| | | | | | | | | | *** Reason for rollback *** Rolling forward with fixes. *** Original change description *** PiperOrigin-RevId: 206339696