aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
Commit message (Collapse)AuthorAge
* Add more methods to ExternalPackageUtil to load all rules of a specificGravatar John Cater2017-06-16
| | | | | | | rule class. Change-Id: Iaa830658a62de661f16e100d24b2d1a3e66af638 PiperOrigin-RevId: 159104714
* Add support for the '0o' octal prefix for integers.Gravatar laurentlb2017-06-16
| | | | | | RELNOTES: Octal prefix '0' is deprecated in favor of '0o' (use 0o777 instead of 0777). PiperOrigin-RevId: 158982649
* ctx.empty_action now allows depset as inputsGravatar laurentlb2017-06-16
| | | | | RELNOTES: None. PiperOrigin-RevId: 158977418
* Switching to Watcher API instead of wait_for_completion, in preparation forGravatar olaola2017-06-14
| | | | | | | | | deprecating the wait_for_completion field. Note on errors: in the RemoteWorker, I currently handle all errors as onError of the watch call. Other options are: pass them as the operation error field, and pass some of them as the onError of the execute call. For now, I'm just using the simplest option; the Bazel client is ready to handle all possible options. RELNOTES: none PiperOrigin-RevId: 158974207
* ctx.action now allows depset as inputsGravatar laurentlb2017-06-14
| | | | | RELNOTES: None. PiperOrigin-RevId: 158973112
* Introduce --incompatible_load_argument_is_label (1st argument of load must ↵Gravatar laurentlb2017-06-14
| | | | | | | | | be a label). RELNOTES: First argument of 'load' should be a label. Path syntax is deprecated (label should start with '//' or ':'). PiperOrigin-RevId: 158971314
* Propagate postable events further upGravatar Klaus Aehlig2017-06-14
| | | | | | | | | | | | With the introduction of the ExtendedEventHandler, SkyFunctions were given the possibility to post additional Postable events in addition to the standard events. As SkyFunctions have to be restartable, events are collected first and only posted after the function is finished. Make sure that this also applies to postable events and they are not dropped. Change-Id: Ie1c3a0134935c75ea984fa2cc924e7327a9da81f PiperOrigin-RevId: 158964337
* BES: Consolidate BuildEventServiceModule and BuildEventStreamerModule.Gravatar buchgr2017-06-14
| | | | | | | | | | | | | | After having open sourced the Build Event Service code, there is no more need to have two separate bazel modules that both create a BuildEventStreamer. This change merges the BuildEventStreamerModule logic into the BuildEventServiceModule. DELTA=677 (330 added, 316 deleted, 31 changed) DELTA_BY_EXTENSION=java=293,oss=32 RELNOTES: None. PiperOrigin-RevId: 158960687
* Fix local execution to not throw an exceptionGravatar ulfjack2017-06-14
| | | | | | | | The SpawnInputExpander returns null for empty files, but the ActionInputPrefetcher does not expect null values, and implementations may throw NPE. PiperOrigin-RevId: 158960425
* Use EventHandler even before we have a Reporter instanceGravatar ulfjack2017-06-14
| | | | | | | ...instead of relying on all the methods to call printErrLn with exactly the right format string. PiperOrigin-RevId: 158951236
* Introduce --incompatible_comprehension_variables_do_not_leakGravatar laurentlb2017-06-14
| | | | | | | | | | | | | When the flag is activated, variables in list comprehensions do not leak anymore. Even if a variable was defined before the loop, it's not accessible after the loop. This change allows us to detect any breakage and ensures that no user is accessing loop variables after the loop. This will make possible for us to change the behavior and follow Python 3 semantics in the future. RELNOTES: None. PiperOrigin-RevId: 158895514
* Base rc_options_test more on standard constructsGravatar aehlig2017-06-13
| | | | | | | In particular, do not hard-code the product name bazel. RELNOTES: None PiperOrigin-RevId: 158843168
* Also filter stderr when parse_showincludes feature is enabledGravatar Yun Peng2017-06-13
| | | | | | | | | | On Windows, cl.exe generates include information to stdout. But when using the cuda compiler(nvcc.exe) to invoke cl.exe, it's redirected to stderr. So we need to parse the output of stderr as well. Change-Id: I9a763a6eefa531932bf1077ef4155f6bda934240 PiperOrigin-RevId: 158842448
* Windows, Bazel client: pass Unix root as JVM flagGravatar Laszlo Csomor2017-06-13
| | | | | | | | | | | | | The Bazel client will pass the --host_jvm_args=-Dbazel.windows_unix_root=<path> flag to the server (computed from $BAZEL_SH), and the server will no longer shell out to cygpath to compute this value. Fixes https://github.com/bazelbuild/bazel/issues/2983 Change-Id: Iacc2e2eb70eacafdf7bbcad68d375ba9eadc6ee1 PiperOrigin-RevId: 158830675
* Extract the MacOS/XCode env rewrite logic into lib.exec.appleGravatar ulfjack2017-06-13
| | | | | | | | | | | | | | | | | | | Also add an interface to allow injecting that logic into LocalSpawnRunner; this is in preparation for rewriting StandaloneSpawnStrategy to use LocalSpawnRunner. At the same time, this reduces the dependencies from exec / standalone to rules.apple, which is a prerequisite for micro-Bazel. There's a small semantic change hidden here - we now only set the new XCodeLocalEnvProvider if we're actually running on Darwin, so we no longer fail execution on non-Darwin platforms if XCODE_VERSION_OVERRIDE or APPLE_SDK_VERSION_OVERRIDE is set. As a result, I moved the corresponding test from StandaloneSpawnStrategyTest to the new XCodeLocalEnvProviderTest. While I'm at it, also open source DottedVersionTest and CacheManagerTest. PiperOrigin-RevId: 158829077
* Fix bug in URI computation in RemoteModuleGravatar ulfjack2017-06-13
| | | | | | | | | | | Also add tests for the CAS path converter. I've also changed the code to explicitly inject the RemoteOptions into the CasPathConverter - note that the class is now static, so it no longer has access to the fields in the RemoteModule class. This change will need to be cherry-picked into 0.5.2. PiperOrigin-RevId: 158816408
* Refactor AST APIsGravatar brandjon2017-06-13
| | | | | | | Added public visibility to some constructors/accessors, and made child LValue nodes explicitly constructed by the caller rather than hidden inside constructors. This makes it easier to treat nodes as uniform dumb values. Also added some helpers. RELNOTES: None PiperOrigin-RevId: 158761415
* Init absent action configs for CppCompile actionsGravatar hlopko2017-06-12
| | | | | | | | | | So far only link actions were initialized in CppLinkActionConfigs. This cl changes this class to also initialize CppCompile actions. This is needed for our ongoing work removing hard-coded flags from Bazel and moving them into Crosstool. RELNOTES: None. PiperOrigin-RevId: 158715986
* Cleanup in ValidationEnvironment, provide static methods, reduce visibility.Gravatar laurentlb2017-06-12
| | | | | | | | | Call sites were creating a ValidationEnvironment object with no other purpose than calling validateAst(). Simplify the code so that callers don't have to worry about it. RELNOTES: None. PiperOrigin-RevId: 158705853
* Introduce CompileCommandLineBuilder and CompileCommandLineTestGravatar hlopko2017-06-12
| | | | | RELNOTES: NONE. PiperOrigin-RevId: 158703123
* Windows: bazel clean --expunge worksGravatar Laszlo Csomor2017-06-12
| | | | | | | | | | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/1586 Fixes https://github.com/bazelbuild/bazel/issues/2326 This change also undoes https://github.com/bazelbuild/bazel/commit/956810b6ee24289e457a4b8d0a84ff56eb32c264 -- since Bazel now closes its stdout/stderr before cleaning, jvm.out is also closed so we don't need to open it with deletion sharing. RELNOTES: Windows: bazel clean --expunge works Change-Id: I692f2e86a5983cb472a142a093611fd1c694cd3b PiperOrigin-RevId: 158682987
* 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