aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
Commit message (Collapse)AuthorAge
* Move CppConfiguration#getFullyStaticLinkOptions, #getMostlyStaticLinkOptions,Gravatar cpeyser2017-11-28
| | | | | | | | | | | and #getDynamicLinkOptions to CppHelper. This allows toolchain information needed by those methods to move to CcToolchainProvider. The migration of toolchain information from CppConfiguration to CcToolchainProvider is required to move the c++ rules to platform-based toolchain selection. PiperOrigin-RevId: 177230635
* Eliminate STATIC_FRAMEWORK_DIR as a separate field of ObjcProvider.Gravatar cparsons2017-11-28
| | | | | | | | | Infer those values from STATIC_FRAMEWORK_FILE. This correctly dedupes static frameworks between an app and its dylibs. RELNOTES: None. PiperOrigin-RevId: 177214770
* Update blazerc documentation in the blaze/bazel user mannuals.Gravatar ccalvarin2017-11-28
| | | | | | | Update the docs for clarity and to explain the --expand_configs_in_place alternate expansion behavior. RELNOTES: None. PiperOrigin-RevId: 177183524
* Automated rollback of commit b64119807b014d9f3b99fb8a02e22daf1a8299b6.Gravatar nharmata2017-11-28
| | | | | | | | | | | | | *** Reason for rollback *** Tickles the shell integration test version of b/35042288 *** Original change description *** Change BlacklistedPackagesPrefixesFunction to take a pair of a hardcoded set of directories and a file path containing more directories to blacklist. The current usage of PrecomputedValue#BLACKLISTED_PACKAGE_PREFIXES_FILE is overly general and is only meaningfully used by unit tests; in practice, the blacklist file path can never change over the lifetime of the Bazel server. Perform a minor simplifying refactor as a result of this. RELNOTES: None. PiperOrigin-RevId: 177176068
* Migrate some Skylark tests outside of Blaze.Gravatar laurentlb2017-11-28
| | | | | RELNOTES: None PiperOrigin-RevId: 177169878
* Change BlacklistedPackagesPrefixesFunction to take a pair of a hardcoded set ↵Gravatar nharmata2017-11-28
| | | | | | | of directories and a file path containing more directories to blacklist. The current usage of PrecomputedValue#BLACKLISTED_PACKAGE_PREFIXES_FILE is overly general and is only meaningfully used by unit tests; in practice, the blacklist file path can never change over the lifetime of the Bazel server. Perform a minor simplifying refactor as a result of this. RELNOTES: None. PiperOrigin-RevId: 177164057
* Migrate callsites of CppConfiguation#getCompiler, #getTargetLibc, #getCpu toGravatar cpeyser2017-11-28
| | | | | | | CcToolchainProvider. Toolchain information must be removed from CppConfiguration to allow the c++ rules to use hermetic platforms. PiperOrigin-RevId: 177163880
* 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
* Let to push lambda arguments not only with *LOAD instructions but with ↵Gravatar Googler2017-11-28
| | | | | | | SIPUSH and *CONST_*. RELNOTES: None PiperOrigin-RevId: 177149410
* refactor: add LocationExpander factoriesGravatar L?szl? Csomor2017-11-28
| | | | | | | | | | | | | | | | | | Stop using LocationExpander.Options in LocationExpander constructors, because the Options semantics are confusing. I also need the refactoring in order to extend the expansion semantics: to support expanding to absolute paths on Windows, where $(location) should not expand to the (non-existent) runfiles path, but to the absolute path the runfiles symlink would point to. See https://github.com/bazelbuild/bazel/issues/4171 Change-Id: Ie4d47ec3807bc3c6e39156efa1746b666f69f99c PiperOrigin-RevId: 177147372
* Simplify SpawnRunner interfaceGravatar ulfjack2017-11-28
| | | | | | | | | | | | | | It turns out that the SUCCESS status is often misunderstood to mean "zero exit", even though this is clearly documented. I've decided to add another status for non-zero exit, and use success only for zero exit to avoid this pitfall. Also, many of the status codes are set, but never used. I decided to reduce the number of status codes to only those that are actually relevant, which simplifies further processing. Instead, we should add a string message for the error case when we need one - we're not using it right now, so I decided not to add that yet. PiperOrigin-RevId: 177129441
* Change Mock{Android,Java}Support to actually import test runner related jars ↵Gravatar dannark2017-11-27
| | | | | | | so that integration tests can use them. RELNOTES: None PiperOrigin-RevId: 177113967
* 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
* Support nested set serialization.Gravatar tomlu2017-11-27
| | | | PiperOrigin-RevId: 177032673
* Automated rollback of commit a6ed4c01d374bcf98bf39c1efc12a0f4f20fe313.Gravatar elenairina2017-11-27
| | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks //javatests/com/google/devtools/intellij/blaze/plugin/aspect/java/soygenrule:SoyGenruleTest *** Original change description *** Create the output source jar in java_common.compile and expose transitive source jars to Skylark. Slightly refactor java classes to take in specific host javabase inputs and host java executable for creating the source jar, instead of always relying on fetching them from native java rules specific attributes. Creating the output source jar in java_common.compile makes the behavior more similar to java_library. Exposing the transitive_source_jars to Skylark helps with the Skylark migration fr... *** RELNOTES: None. PiperOrigin-RevId: 177015958
* Migrate some Skylark tests outside of Blaze.Gravatar laurentlb2017-11-27
| | | | | RELNOTES: None. PiperOrigin-RevId: 177004853
* Shape sharing for Skylark providers.Gravatar Benjamin Peterson2017-11-27
| | | | | | | | | | Add CompactSkylarkInfo, which stores its values as an array instead of a map. The space savings will probably not be dramatic because providers usually have a limited amount of keys. But, there are a lot of them! Change-Id: Idd452a5e3982f773b1c5202c73f3d7031ec022c6 PiperOrigin-RevId: 176995376
* Use more precise categories for missing docstring.Gravatar laurentlb2017-11-27
| | | | | | | Split missing-docstring into missing-module-docstring and missing-function-docstring. RELNOTES: None. PiperOrigin-RevId: 176993716
* py_proto_library implicit dependency update.Gravatar Googler2017-11-24
| | | | | RELNOTES: None. PiperOrigin-RevId: 176877525
* Add six to deps of has_services=1 py_proto_librarys.Gravatar Googler2017-11-24
| | | | | | RELNOTES: Add six to deps of has_services=1 py_proto_librarys. PiperOrigin-RevId: 176873598
* Remove useless abstractions in C++ rules after internal cleanupGravatar hlopko2017-11-24
| | | | | RELNOTES: PiperOrigin-RevId: 176844836
* Create the output source jar in java_common.compileGravatar elenairina2017-11-24
| | | | | | | | | | | | | | | and expose transitive source jars to Skylark. Slightly refactor java classes to take in specific host javabase inputs and host java executable for creating the source jar, instead of always relying on fetching them from native java rules specific attributes. Creating the output source jar in java_common.compile makes the behavior more similar to java_library. Exposing the transitive_source_jars to Skylark helps with the Skylark migration from the old 'java' provider to JavaInfo. Progress on #2614. RELNOTES: transitive_source_jars is now exposed on JavaInfo. PiperOrigin-RevId: 176844750
* Add //tools/jdk:current_java_runtime / tools/jdk:current_host_java_runtime ↵Gravatar lberki2017-11-24
| | | | | | | | | | | to rules that use the $(JAVA) or the $(JAVABASE) Make variable. This is necessary because a future Blaze version will require this for rules that use said Make variables. This incompatible change can be tested today by adding the --noexperimental_enable_jvm_configuration_make_variables command line option to Blaze. This change is part of a large-scale change ([] RELNOTES: None. PiperOrigin-RevId: 176834987
* Add regression test for breakage caused by ↵Gravatar philwo2017-11-23
| | | | | | https://github.com/bazelbuild/bazel/commit/0ebb3e54fc890946ae6b3d059ecbd50e4b5ec840. PiperOrigin-RevId: 176774887
* Move CppConfiguration's treatment of pic, --start-lib/--end-lib, and fission toGravatar cpeyser2017-11-22
| | | | | | | | | | | CppHelper. In CppHelper, CcToolchainProvider and CppConfiguration are used sepereately, allowing toolchain information to be removed from CppConfiguration. This is necessary to introduce hermetic toolchains, which require that toolchain information be seperated from the configuration, into the c++ rules. PiperOrigin-RevId: 176694160
* Put more information in failure message of occasionally flaky test, and ↵Gravatar janakr2017-11-22
| | | | | | deduplicate code. PiperOrigin-RevId: 176686795
* Don't propagate resources when neverlink is specified and manifest is notGravatar Googler2017-11-22
| | | | | | | | | We already handle this properly in the normal case. However, when no attributes from the new implementation of resource processing are specified, we fall back to the old version, which didn't handle this. RELNOTES: none PiperOrigin-RevId: 176672081
* Fix canonical option list for options that implicitly require options with ↵Gravatar ccalvarin2017-11-22
| | | | | | | | | allowMultiple=true Was filtering for the implicit options in SingleOptionValue, but forgot the check in RepeatableOptionValue. This is now fixed. RELNOTES: None. PiperOrigin-RevId: 176669853
* Add platform data into to the ToolchainContext unconditionally.Gravatar John Cater2017-11-22
| | | | | | | Part of #4128. Change-Id: I1e043e7290912de5b246dbb8748cb2ad865ce38c PiperOrigin-RevId: 176664440
* Move CppConfiguration#isLLVMcompiler, #isLLVMOptimizedFdo, #isLipoOptimization,Gravatar cpeyser2017-11-22
| | | | | | | | | and #getDynamicMode to CcToolchainProvider and CppHelper. Moving toolchain info out of CppConfiguration is required to use platform-based toolchain resolution in the c++ rules. PiperOrigin-RevId: 176662686
* Add proper test coverage for filtering resource depsGravatar Googler2017-11-22
| | | | | RELNOTES: none PiperOrigin-RevId: 176659117
* Move override check to the createAndOverrideRule functionGravatar Damien Martin-Guillerez2017-11-22
| | | | | | | | | So we actually test for override also from skylark repositories. Fixes #3908. Change-Id: I7650a17834a6915a73c89df46989f72aa2f56920 PiperOrigin-RevId: 176645218
* Improve error message when missing default_toolchain in CROSSTOOLGravatar hlopko2017-11-22
| | | | | RELNOTES: None. PiperOrigin-RevId: 176643685
* Return SpawnResults using a List instead of a Set.Gravatar ruperts2017-11-21
| | | | | | | | | Currently we don't care about the list order of SpawnResults. However, we may care about the list order later. Also, if the equals() method for SpawnResults is ever changed then it may be problematic to return SpawnResults in a Set. Aside: ActionResults use SpawnResults to calculate cumulative execution times for Actions, and may provide other metrics in future. RELNOTES: None. PiperOrigin-RevId: 176579460
* Remove the hardcoded exclusion of the top-level //experimental directory. ↵Gravatar nharmata2017-11-21
| | | | | | | | | This is only relevant for things like 'bazel build //...' in workspaces that have a top-level //experimental directory. As such, this hardcoded exclusion is unlikely to be desired, especially by bazel users externally. Fixes #3822. RELNOTES: None PiperOrigin-RevId: 176569346
* Add support for negative package specificationsGravatar cushon2017-11-21
| | | | | | | | | | Package specifications can now be prefixed with `-` to indicate negation: the specification `-//foo/bar/...` excludes all packages under `//foo/bar` that would otherwise have been matched. RELNOTES: Package specifications can now be prefixed with `-` to indicate negation PiperOrigin-RevId: 176551382
* Add option to enable resource cycle shrinking.Gravatar Googler2017-11-21
| | | | | | | | This will instruct AAPT2 to produce conditional keep rules to allow for more aggressive code and resource shrinking. RELNOTES[NEW]: Add --experimental_android_resource_cycle_shrinking option to allow for more aggressive code and resource shrinking. PiperOrigin-RevId: 176530749
* Remove java_toolchain using remote targets.Gravatar xingao2017-11-21
| | | | PiperOrigin-RevId: 176521744
* Update size of bazel_windows_cpp_test to largeGravatar pcloudy2017-11-21
| | | | | | | It begins to hit the 300s time limit of medium test. RELNOTES: None PiperOrigin-RevId: 176511672
* Fix //src/test/shell/integration:progress_reporting_testGravatar Klaus Aehlig2017-11-21
| | | | | | | | | | | | | | | | The test case test_failed_actions_with_keep_going was never correct and only worked by accident: it relied on bazel starting at least two actions, if for there are at least two where all the dependencies are already met; however bazel is clever and analyzes the resources of the system it is running in, and if they are small will only run one genrule at a time. Fix this by telling it to run 2 actions and lying about the available resources of the local system. Also increase the test size and reenable the test for remote execution. Fixes #3995. Change-Id: Ic84de17a98a2e74c24901d4efb38d7631de4690a PiperOrigin-RevId: 176511026
* Allow conditioning flags on the _absence_ of a feature.Gravatar Googler2017-11-21
| | | | | | | | | | | | | | | This allows a flag_set to emit one flag when a feature is enabled, and a different flag when that feature is disabled. And while I was in there, I noticed and fixed a couple other issues: 1. env_set didn't actually implement with_feature, despite having the field in its proto. 2. action_config implemented with_feature as an optional field, instead of repeated field. RELNOTES: None PiperOrigin-RevId: 176510960
* Added new RuleClass flag to turn off platform support, to stop dependency ↵Gravatar John Cater2017-11-21
| | | | | | | | | cycles when loading platforms. Part of #4128. Change-Id: Ie55a91aaaec15d8eb537f59131fc2e69a8f9c251 PiperOrigin-RevId: 176509311
* Change Platform.remoteExecutionProperties to be a String, not a dict.Gravatar John Cater2017-11-21
| | | | | | | | | | This is needed for the ability to synthesize the correct remote execution protos from a platform rule. Part of #4128. Change-Id: I7fa8acf45642a4df4e2beb1ba9c57c2536670486 PiperOrigin-RevId: 176504885
* Fix duplicate test name.Gravatar John Cater2017-11-21
| | | | | Change-Id: I0d77f491422c41831b2840fb7256526f273abbd0 PiperOrigin-RevId: 176502405
* UI: reset timer on every status/strategy changeGravatar Klaus Aehlig2017-11-21
| | | | | | | | | | | | | For an action, whenever the status or strategy changes, reset the timer. In this way, we show the time an action spent in the current state, rather than the total time the action spent since started. This might give a better picture of what is currently going on in the system. Fixes #4089. Change-Id: I441337cf2eec58702889ac7a6a9ed150708e8c9d PiperOrigin-RevId: 176497486
* Update AndroidConfiguration to reflect changesGravatar Googler2017-11-21
| | | | | RELNOTES: none PiperOrigin-RevId: 176496770
* Clear interrupted bit in thread when throwing an interrupted exception that ↵Gravatar janakr2017-11-21
| | | | | | | | came from an AbstractParallelEvaluator evaluation. It's against the standard Java contract to throw but still have the thread's interrupted bit set. Also get rid of some unnecessary initializeTester() calls in MemoizingEvaluatorTest: we already call it via a @Before annotation. PiperOrigin-RevId: 176496034
* Remove the deprecated set constructor from SkylarkGravatar vladmos2017-11-21
| | | | | | | | | | | | The `set` constructor used to be deprecated, but it was still possible to use it by providing --incompatible_disallow_set_constructor=false. It's still allowed to have `set` in parts of the code that are not executed, this will be deprecated later. You can check if your code is compatible with this future change by using the flag --incompatible_disallow_uncalled_set_constructor (currently the default is "false"). RELNOTES[INC]: The flag --incompatible_disallow_set_constructor is no longer available, the deprecated `set` constructor is not available anymore. PiperOrigin-RevId: 176491641
* SOURCE_DATE_EPOCH environment variable override the timestampGravatar Damien Martin-Guillerez2017-11-21
| | | | | | | | | | | | | | | | | | | | This is applying the version 1.1 of the specification (https://reproducible-builds.org/specs/source-date-epoch/) where the only timestamp that Bazel puts in the final targets is overridden by the value of SOURCE_DATE_EPOCH. This change also remove the legacy SOURCE_DATE_EPOCH handling which wasn't really following the spec. Note that Bazel itself tries hard to remove all timestamps from intermediary binaries and overridde SOURCE_DATE_EPOCH in most action, which is a not according to the version 1.0 of the spec but according to the expected change for version 1.1. RELNOTES: SOURCE_DATE_EPOCH (https://reproducible-builds.org/specs/source-date-epoch/) can be used to override the timestamp used for stamped target (when using --stamp). Fixes #2240. Change-Id: I074e7905fa6745cc706f7391340aeae9188909ca PiperOrigin-RevId: 176489717
* UI: distinguish executing actionsGravatar Klaus Aehlig2017-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When showing the current actions, the most interesting are those that are currently being executed, not those that are waiting for resources or otherwise in the process of being scheduled. Therefore, show the executing actions at the top of the list. Also add more visual hints to distinguish executing from non executing actions. Screenshot (14:51:21) [160 / 230] 32 actions, 11 running Compiling lotsofwork/true986.c; 0s linux-sandbox Compiling lotsofwork/true982.c; 0s linux-sandbox Compiling lotsofwork/true983.c; 0s linux-sandbox Executing genrule //lotsofwork:true975_c; 0s linux-sandbox Compiling lotsofwork/true981.c; 0s linux-sandbox Linking lotsofwork/true_999; 0s linux-sandbox Linking lotsofwork/true_996; 0s linux-sandbox Linking lotsofwork/true_998; 0s linux-sandbox Compiling lotsofwork/true980.c; 0s linux-sandbox Compiling lotsofwork/true98.c; 0s linux-sandbox Executing genrule //lotsofwork:true974_c; 0s linux-sandbox [Sched] Creating runfiles tree bazel-out/k8-fastbuild/bin/lotsofwork/true_974.runfiles [Sched] Linking lotsofwork/true_997 [Sched] Linking lotsofwork/true_995 [Sched] Linking lotsofwork/true_99 [Sched] Linking lotsofwork/true_991 ... Improves on #4089. Change-Id: I1bc6636d5e53a16151023bba595e38259eb1ac88 PiperOrigin-RevId: 176483192