aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
Commit message (Collapse)AuthorAge
* experimental_ui_test: fix test_strategy optionGravatar Klaus Aehlig2017-06-09
| | | | | Change-Id: Ieed7e16860e483b69081a69420681b6c1bf6628c PiperOrigin-RevId: 158534203
* Make singlejar aware of FreeBSDGravatar Klaus Aehlig2017-06-09
| | | | | | | | | | | | | The C implementation of singlejar verifies that it is built for a supported system; currently those are 64-bit linux and apple systems. However, the code is portable enough that it can easily be adapted to run on 64-bit FreeBSD systems as well. In fact, only the path of a single header file is different, and we need to link with -lm. Fixes #3096. Change-Id: Id69542ad940f1161aceb55eb8f5dabda2f486747 PiperOrigin-RevId: 158533955
* Disable test_packages_cleared because it is flaky on CI.Gravatar jcater2017-06-09
| | | | | | Internal bug has been filed. PiperOrigin-RevId: 158529189
* Move InvocationPolicy to the options parser package.Gravatar ccalvarin2017-06-09
| | | | | | | | | | | | | | It was originally included in runtime due to external dependencies, and a desire to keep the options parser a general options library. These dependencies have been or will be removed, and there are plenty of other general flag libraries. InvocationPolicy is fundamentally acting on the properties of this specific OptionsParser and needs proper access to it for the proper solution to a number of existing bugs, which means having access to things that should be package private. PiperOrigin-RevId: 158523111
* Testing: add Python integration test utilitiesGravatar Laszlo Csomor2017-06-09
| | | | | | | | | | | | | | This allows writing integration tests in Python rather than shell, so we can avoid https://github.com/bazelbuild/bazel/issues/3148 This change also adds a test to verify that running "bazel info server_pid" twice yields the same PID. Again, this is testing that we indeed avoid the aformentioned bug. Change-Id: Ic800965b16ab87179370fd2cd43908286120e8d5 PiperOrigin-RevId: 158517192
* Use the correct JVM for LcovMerger instead of whatever "java" gets us.Gravatar lberki2017-06-09
| | | | | | | Fixes #2904. RELNOTES: None. PiperOrigin-RevId: 158516169
* Remote execution: post CAS links to the BEP instead of local file URIsGravatar ulfjack2017-06-09
| | | | | | | | | | | | Also use DigestUtils for performance, which has a static cache of the digests. This isn't ideal, but necessary for now to avoid computing the digests multiple times. We'll need to clean this up afterwards by including the digests in the posted events, and making them available to the PathConverter. I have some changes towards that (as well as some submitted already), but it requires quite some refactoring. RELNOTES: Bazel posts links to the CAS to the BEP if remote caching / execution is enabled PiperOrigin-RevId: 158513165
* experimental_ui_test: run tests locallyGravatar aehlig2017-06-09
| | | | | | | | | This integration test is about the UI, so any tests the bazel under test executes are toy examples. So there is no reason not to run them locally. RELNOTES: None PiperOrigin-RevId: 158509077
* Disable local fallback by defaultGravatar ulfjack2017-06-09
| | | | | | We don't want people to get used to this. PiperOrigin-RevId: 158508816
* Fix test.xml download for failing testsGravatar ulfjack2017-06-09
| | | | PiperOrigin-RevId: 158503746
* Switching Bazel to use the new remote execution API: ↵Gravatar olaola2017-06-09
| | | | | | | | | https://docs.google.com/document/d/1AaGk7fOPByEvpAbqeXIyE8HX_A3_axxNnvroblTZ_6s/edit Also refactored away the various *Interface* files, no need since unit testing can be done with mocking the appropriate gRPC Impl classes directly (see tests). This also fixes the RemoteSpawnRunner, which should use different objects for remote caching and remote execution, the same way RemoteSpawnStrategy does. RELNOTES: n/a PiperOrigin-RevId: 158473700
* Internal cleanup.Gravatar gregce2017-06-09
| | | | PiperOrigin-RevId: 158428641
* Track the test environment in Skyframe, like the action environmentGravatar ulfjack2017-06-09
| | | | | | | | Instead of passing a client env into the test strategies, use the same mechansim as --action_env, by depending on the right set of Skyframe nodes that correspond to client env entries. PiperOrigin-RevId: 158401670
* experimental_ui, rate limiting test: work around output by the clientGravatar aehlig2017-06-08
| | | | | | | | | | | | When the experimental UI is told to rate limit the amount of output generated, this limit does not include startup messages generated by the client. Make the test aware of that behaviour by allowing a bit more output than the UI limit, to take into account the client startup messages. To keep the test still strict increase the output generated by the actions a lot, so that the client output is small compared to what we expect and limit. PiperOrigin-RevId: 158386698
* Add some tests to the LocalSpawnRunner, and make some small tweaksGravatar ulfjack2017-06-08
| | | | | | | | | - Only manually check the timeout if the process wrapper is not used - Set the timeout correctly; the process API uses milliseconds - flush the error output stream after writing - return SIGALRM as exit code for timeout cases PiperOrigin-RevId: 158374246
* Make PackageOutputFormatter use PackageIdentifier instead of package name.Gravatar ajmichael2017-06-08
| | | | | | | Fixes #3122. RELNOTES: bazel query --output package now displays packages from external repository with the format "@reponame//package". Packages in the main repository continue to have the format "package". PiperOrigin-RevId: 158327492
* Make PackageFunction's strategy for handling unreadable BUILD files ↵Gravatar nharmata2017-06-08
| | | | | | | configurable. Add a test for the current behavior of treating an unreadable BUILD file as a package loading error. RELNOTES: None PiperOrigin-RevId: 158314187
* Switch to correct runfiles directory when running python test on WindowsGravatar Yun Peng2017-06-08
| | | | | | | | | | | | | | | | | py_test cannot find it's data file at runtime. The reason is it's running in a wrong directory. The test directory is set to runfiles directory by test-setup.sh, but on Windows, python binary unzip itself to another temp directory which test-setup.sh doesn't know. So let the python stub template switch to the correct runfiles directory if RUN_UNDER_RUNFILES = 1 Fixed https://github.com/bazelbuild/bazel/issues/3134 Change-Id: If5dbee811330372d86484ebd871ea55d84bc29a8 PiperOrigin-RevId: 158299041
* Fix a bug in ShowIncludesFilter.javaGravatar Yun Peng2017-06-08
| | | | | | | | | | | | | | | | Don't flush when buffer is a prefix of SHOW_INCLUDES_PREFIX or sourceFileName eg. Since we are looking for a line starting with "Note: including file:", when buffer equals "Note: i", when should not flush the buffer, but wait until the whole line is read or we are sure they won't match. Also, we need to reset the buffer after write to out. Added test for ShowIncludesFilter.java Change-Id: I58ebd0bfd5a3e2c9973c8bd910e2e5b85a545c21 PiperOrigin-RevId: 158297616
* Fix ConfigFeatureFlagTransitionFactory to obey PatchTransition equality.Gravatar mstaib2017-06-08
| | | | | | | | | This requirement was added to PatchTransition in commit e6392cd380fce14d719890c78d5eb2657e8a6cfc. This also adds tests for ConfigFeatureFlagTransitionFactory's other behaviors. RELNOTES: None. PiperOrigin-RevId: 158294134
* Use ImmutableList for Option expansion functionsGravatar Googler2017-06-08
| | | | | RELNOTES: None PiperOrigin-RevId: 158279811
* Make bazel_windows_example_test pass with MSVC toolchainGravatar Yun Peng2017-06-08
| | | | | | | | | When running bazel_windows_example_test, we don't need to add --cpu=x64_windows_msys anymore, which means we can test the MSVC version of Bazel in this test. Change-Id: I01a2363e383756d57afd8beab20e66024612c8a0 PiperOrigin-RevId: 158279095
* Introduce --incompatible_disallow_toplevel_if_statement to forbid top-level ↵Gravatar laurentlb2017-06-08
| | | | | | | | | | if statements. RELNOTES: In .bzl files, top-level `if` statements are deprecated and will be forbidden in the future. Move them in a function body instead (or use a conditional expression instead: `x if condition else y`). PiperOrigin-RevId: 158276986
* Add new configuration fragment for platforms, with host and targetGravatar John Cater2017-06-08
| | | | | | | options. Change-Id: If623f2416f8bff7c74ddf99d5c957a075de6494f PiperOrigin-RevId: 158275892
* Require that flags with static expansions be of Void type.Gravatar ccalvarin2017-06-07
| | | | | | | The type was ignored, and it was expected that all expansion flags had no value of their own, but was not checked. PiperOrigin-RevId: 158261788
* Set executable bit on java_launcher_test.shGravatar jcater2017-06-07
| | | | PiperOrigin-RevId: 158256025
* protobuf: Use bazel's native java_proto_library rules.Gravatar Jakob Buchgraber2017-06-06
| | | | | | | | | Additional changes: - Introduce a Skylark macro java_library_srcs that provides the source jars of a java_*_library rule. - Remove bazel's own java_proto_library implementation. Change-Id: I18f2259bc75ca0fb32dcd8a6a857c609bd2c7773 PiperOrigin-RevId: 158146210
* Fix automatic host platform detection to check the --host_cpu flag.Gravatar John Cater2017-06-06
| | | | | | | | | Also adds a new target_platform attribute that checks the --cpu flag. Part of #2219. Change-Id: Icc732917db127ac8377a7722adc70b1a722d538a PiperOrigin-RevId: 158143095
* java_stub_template: remove cygpath callGravatar Laszlo Csomor2017-06-06
| | | | | | | | | | | | | | | | | | Remove the cygpath call on non-Windows platforms, that was recently added by 102ce6ddc04063d26165c6a2167059f2348026bf Also add a test for Bazel's Java launcher. Also update the testenv.sh:cleanup method to wait for Bazel to shut down, don't give up immediately if it could not clean up the inner Bazel's temp dir. Fixes https://github.com/bazelbuild/bazel/issues/3092 See https://github.com/bazelbuild/bazel/issues/3069 Change-Id: I82b1026a60056f340caa53a59b6f2ec8a1397ef3 PiperOrigin-RevId: 158139846
* Factor out Bazel-specific ctor constants in SequencedSkyframeExecutor into a ↵Gravatar nharmata2017-06-06
| | | | | | | separate class. They're currently passed in around various callsites in the codebase and tests. RELNOTES: None PiperOrigin-RevId: 158139074
* Remove the CommandEnvironment from BlazeCommand.editOptionsGravatar ulfjack2017-06-06
| | | | | | | | | | | BlazeCommand.editOptions is currently called fairly late in the startup process, so it must be restrictive in what it does, as any change to the options can potentially introduce inconsistencies between different parts of Bazel. Removing the CommandEnvironment reduces the amount of damage it can do, and may allow us to move the call earlier in the startup process (maybe even to a point where the CommandEnvironment does not exist yet). PiperOrigin-RevId: 158133862
* Fix: remote execution was ignoring the exit codeGravatar Ulf Adams2017-06-06
| | | | | | | | | | | | | | | | | | | | I likely broke that in 7f6e27f, although it was a pre-existing condition: previously, the remote worker was reporting non-zero exit as a failure. Now it reports the run as successful with a non-zero exit code. Update RemoteSpawnStrategy to handle the exit code and generate an appropriate error. In the future, we won't throw exceptions for non-zero exit at this level, but instead report the non-zero exit in the SpawnResult, and have the caller inspect that (and generate the error if applicable). Fixes #3121. Change-Id: Ia39f5c2ef5622544285c1957bb9ebae89e58edf2 Closes #3130. Change-Id: Ia39f5c2ef5622544285c1957bb9ebae89e58edf2 PiperOrigin-RevId: 158120222
* Add a tag to ExecutionRequirements that allows disabling local prefetchGravatar ulfjack2017-06-06
| | | | | | | Remove SpawnExecutionPolicy.shouldPrefetchInputsForLocalExecution in favor of a static helper method in Spawns. PiperOrigin-RevId: 158119993
* Make compatible_with = ["all", "foo"] the same as compatible_with = ["all"].Gravatar gregce2017-06-06
| | | | | | | | | | | | | Assuming "all" fulfills "foo", these should be exactly the same (and maybe we should trigger a redundant listing error). In practice, it's possible to make the first case succeed while the second fails because of environment refining and lack of static constraint checking for selects. See changes for details. Also refactor ConstraintSemantics.checkConstraints to divide and conquer more clearly. PiperOrigin-RevId: 158047217
* Internal changeGravatar cpeyser2017-06-06
| | | | PiperOrigin-RevId: 158041525
* Internal changeGravatar Googler2017-06-05
| | | | PiperOrigin-RevId: 157878648
* Automated g4 rollforward of commit b71e99b1f3746103e5d6802eebc24096b3494959.Gravatar gregce2017-06-05
| | | | | | | | | | | | | | | | | | | | | | | | (Automated g4 rollback of commit de92f9d8ea093416fae999073bbfcf3cf501ab55). *** Reason for rollback *** The problems that forced commit de92f9d8ea093416fae999073bbfcf3cf501ab55 were fixed in commit e6392cd380fce14d719890c78d5eb2657e8a6cfc . *** Original change description being rolled forward *** Implement dynamically configured LIPO builds. Quick overview: - provide a dynamic interface for getting the artifact owner configuration - provide a (dynamic) RuleTransitionFactory LIPO_ON_DEMAND to replace the (static) RuleClass.Configurator LIPO_ON_DEMAND. Eventually we'll remove the rule class configurator interface entirely.... *** ROLLBACK_OF=156180015 PiperOrigin-RevId: 157865224
* Remove Xcodege integration from Blaze.Gravatar schmitt2017-06-05
| | | | | RELNOTES: None. PiperOrigin-RevId: 157857216
* Move helper methods for accessing platform providers to a utility class.Gravatar John Cater2017-06-02
| | | | | Change-Id: I45d0cf8e5096ad4ab516af5ddaa98eea8d516c04 PiperOrigin-RevId: 157788771
* Automated g4 rollback of commit dba22f337a20d3e8f3ac8dfd23bc6fa69e4528da.Gravatar xingao2017-06-02
| | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Use Java implementation of singlejar on FreeBSD, and roll forward change 157473007. *** Original change description *** Automated g4 rollback of commit d894345ed88f8adce600b66a310b5210d0bcb59c. *** Reason for rollback *** Breaks Bazel on FreeBSD: http://ci.bazel.io/view/Dashboard/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=freebsd-11/1542/console *** Original change description *** Use cc implementation of singlejar except on Windows. Change-Id: Ie4a2db2a6fa1ea86f4bdd42cd806f6804a0c56d4 PiperOrigin-RevId: 157729503
* Make android_binary.manifest mandatory.Gravatar ajmichael2017-06-01
| | | | | | | | | | It was already effectively mandatory. The build would fail if you did not have the manifest attribute set, but this provides a better error message. Fixes https://github.com/bazelbuild/bazel/issues/3090. RELNOTES: None PiperOrigin-RevId: 157719024
* Fix srcs_testGravatar Damien Martin-Guillerez2017-06-01
| | | | | | | | The src/test/java/c/g/dt/build/lib/skyframe/packages was not included in the srcs and we were not seeing it because the test was dropped at some point from ci.bazel.io. Change-Id: Ief0f1ce0937e745193f76a3a8942c2049ed66ef5 PiperOrigin-RevId: 157708941
* Make C++ archiving use action_configs instead of hardcoded flagsGravatar hlopko2017-06-01
| | | | | RELNOTES: Use action_config in crosstool for static library archiving, remove ar_flag. PiperOrigin-RevId: 157685703
* Remove all imports of org.junit.Assert except for static imports of #fail().Gravatar lberki2017-06-01
| | | | | RELNOTES: None. PiperOrigin-RevId: 157685150
* Remove support of --no_ prefix for boolean flags.Gravatar ccalvarin2017-06-01
| | | | | | | | The no_ prefix was initially undocumented, but its support has over time lead to a number of inconsistencies. RELNOTES: --no_ prefix no longer recognized. PiperOrigin-RevId: 157631435
* Add //external:has_androidsdk config_setting.Gravatar ajmichael2017-06-01
| | | | | | | | | | | | | | | | | | This will be used to add some tests and targets to the Bazel codebase that build and run successfully when android_sdk_repository is in the WORKSPACE and silently skip if it is not. Example deps of a library that links against dx.jar: ``` deps = select({ "//external:has_androidsdk": ["//external:android/dx_jar_import"], "//conditions:default": [], }), ``` Also adds tests that config_setting works as expected when propagated through an alias or bind rule. RELNOTES: None PiperOrigin-RevId: 157627472
* Make SelectorList.toString() user-friendly.Gravatar gregce2017-06-01
| | | | | | | | This also guarantees consistency between toString() calls to lib.syntax.SelectorList and lib.packages.BuildType.SelectorList. PiperOrigin-RevId: 157617509
* Remote caching: don't crash for actions with no inputsGravatar Ulf Adams2017-06-01
| | | | | | | | | | | Fixes #3004. Change-Id: I6dcef92e9f23df574e0874a81b2901754042cf9a Closes #3085. Change-Id: I6dcef92e9f23df574e0874a81b2901754042cf9a PiperOrigin-RevId: 157612661
* Restructure site/ directory into docs/ which only contains Bazel documentation.Gravatar dzc2017-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The new docs/ directory in the bazel source tree will only contain the Bazel docs site, which is hosted at docs.bazel.build. This change deletes the marketing site and blog, which have been migrated to the bazel-website and bazel-blog GitHub repositories respectively. This change also updates the serve-docs.sh and ci/build.sh under scripts/ in preparation for publishing the docs site. Note that to help make reviews more manageable, this change is limited to moving files to their new locations. Here are the follow-up changes: * Update all links in docs to remove versions/master in paths and to add correct bazel.build subdomain when linking to pages on the marketing site or the blog. * Set up versioned directories on GCS bucket and add tooling for versioning docs This change is also coordinated with https://bazel-review.googlesource.com/c/11568/ to have the PublishSite job publish to docs.bazel.build rather than www.bazel.build. Issue #2397 RELNOTES: None PiperOrigin-RevId: 157612651
* Fix aliases for users of label-keyed string dicts.Gravatar mstaib2017-06-01
| | | | | | | | | | | | | | | | | Aliases mess with the assumption that attributeValue.containsKey(target.getLabel()) for every target in the prerequisites of a LABEL_KEYED_STRING_DICT attribute. The solution is to use AliasProvider.getDependencyLabel(target) instead. This fixes it for all current users, including SkylarkRuleContext. This also adjusts config_setting flag_values and Android feature_flags to do intelligent things with aliases in their respective attributes. RELNOTES: None. PiperOrigin-RevId: 157594095