aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
Commit message (Collapse)AuthorAge
* Disable the flaky test_reload_classes tests while we can fix the flakes. ↵Gravatar kush2017-05-12
| | | | | | | It's okay to disable it for now since Persistent Test Runner is still under development, and no one should be using it. RELNOTES: None PiperOrigin-RevId: 155864334
* Add resources to java_common.compile.Gravatar elenairina2017-05-12
| | | | | | Progress on the java sandwich #2614 in an effort to make the Java compilation exposed to Skylark as similar as possible to java_library's API. PiperOrigin-RevId: 155861145
* Re-enabling passing -sourcepath via javacopts.Gravatar elenairina2017-05-11
| | | | | | | This is needed until java_common.compile will be strong enough to replace java_library, exposing all its features. PiperOrigin-RevId: 155773169
* BEP: add a JSON transportGravatar Klaus Aehlig2017-05-11
| | | | | | | | | As JSON is a widely supported format, also add a transport writing the build events in JSON format. This will allow more tools to get status reports about builds. Change-Id: I7e5901cc65d927b93c8fc9bcd2d2baa7e707f09e PiperOrigin-RevId: 155750964
* Remove references to ANDROID_SDK_API_LEVEL from CIGravatar Adam Michael2017-05-11
| | | | | | | | | ANDROID_SDK_API_LEVEL was previously set by a script that parsed that platforms/ directory of the SDK. Now this functionality is handled by android_sdk_repository which autodetects the available API levels. Change-Id: Ifbbc5499444f465929b9d70bf488ff5ba3c4cded PiperOrigin-RevId: 155747062
* Windows, integration test: add fake msys rootGravatar Laszlo Csomor2017-05-11
| | | | | | | Workaround for https://github.com/bazelbuild/bazel/issues/2983 Change-Id: Ib7eb2acff9a3bd1eee304d2d329d2a525a91eee1 PiperOrigin-RevId: 155722499
* Automated g4 rollback of commit 6879d7ceff0e118fdecb0cabe5134979030b7cb8.Gravatar Googler2017-05-11
| | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Fixes memory issue that caused this CL to be rolled back. *** Original change description *** Automated g4 rollback of commit cbbb423663b154d82e3dfa5e9a56839583987999. *** Reason for rollback *** Need to roll this back as part of http://b/38171368 *** Original change description *** RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to use select statements. PiperOrigin-RevId: 155651879
* New flag --incompatible_bzl_disallow_load_after_statementGravatar laurentlb2017-05-10
| | | | | | | | | This disallows to have any statement in a .bzl file before a load() statement. RELNOTES: load() statements should be called at the top of .bzl files, before any other statement. This convention will be enforced in the future. PiperOrigin-RevId: 155636719
* Update javac version to 9-dev-r4023-2Gravatar Liam Miller-Cushon2017-05-10
| | | | | Change-Id: I23e38767e18a90b2262a38bf8f4b347e06d1de8d PiperOrigin-RevId: 155630560
* Automated g4 rollback of commit cbbb423663b154d82e3dfa5e9a56839583987999.Gravatar Googler2017-05-10
| | | | | | | | | | | *** Reason for rollback *** Need to roll this back as part of http://b/38171368 *** Original change description *** RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to use select statements. PiperOrigin-RevId: 155547813
* Introduce an EvaluationProgressReceiver implementation that does nothing.Gravatar nharmata2017-05-10
| | | | | | | | This is useful for dealing with all the existing implementations in the face of interface changes that are irrelevant. RELNOTES: None PiperOrigin-RevId: 155525021
* Add a test that /proc works correctly in the sandboxGravatar Brian Silverman2017-05-09
| | | | | | | | | While investigating #1972, I wrote this test to evaluate a potential solution. This test caught the fact that the solution didn't work, which makes it valuable for future changes to the sandbox. Change-Id: I435e9b9543374554c09d8d7c0918c24d9dc8f19d PiperOrigin-RevId: 155500491
* sandbox: Use the SpawnInputExpander everywhere and delete SpawnHelpers.Gravatar Philipp Wollermann2017-05-09
| | | | | | | | | This unifies our code to use just one standard implementation to get the entire expanded input files for a Spawn, including from Filesets and Runfiles. Change-Id: I1e286508adf0a9aeddf70934b010e6fcc144c4a7 PiperOrigin-RevId: 155497273
* BEP: report configurations for targetsGravatar Klaus Aehlig2017-05-09
| | | | | | | | | | | In multi-architecture builds, a target might be built several times, for the different architectures. Make the target completion events for those distinguishable by indicating the architecture for which the target was built. Also add the needed event for the expansion of a target to target-configuration pairs. Change-Id: I95ef2c81166077163dd686db4671f672160efe1d PiperOrigin-RevId: 155491076
* Change FileContentsProxy to use ctime instead of mtimeGravatar ulfjack2017-05-09
| | | | | | | | | This gives us better reliability for detecting file changes; especially in cases where tools intentionally do not update mtime. Fixes #1525. PiperOrigin-RevId: 155490849
* RELNOTES: Effectively remove sysroot from CppConfiguration and allow it to ↵Gravatar Googler2017-05-09
| | | | | | use select statements. PiperOrigin-RevId: 155480011
* Optimize TransitiveInfoMap memory consumption.Gravatar Googler2017-05-09
| | | | | | Instead of using ImmutableMap, we share the keys between all provider maps with an identical key set. PiperOrigin-RevId: 155432135
* Add missing hashCode() methodGravatar cushon2017-05-09
| | | | PiperOrigin-RevId: 155429568
* Handle labels with explicit repositories correctly in objc rules.Gravatar allevato2017-05-09
| | | | | | | | | | | | | | The `structured_resources` path stemming used by `objc_library` and `objc_bundle_library` no longer breaks if one of these rules tries to reference a label with an explicit repository prefix. Previously, using "@foo//bar:baz" in such a rule would fail because the individual files would retain their "external/foo/" prefix but the owner path against which those files were relativized would not have it because of the use of getPackageFragment() instead of getPackageIdentifier().getSourceRoot(). RELNOTES: None. PiperOrigin-RevId: 155409464
* Clean up AbstractQueueVisitor's constructors.Gravatar janakr2017-05-09
| | | | | | | | The "concurrent" bit was supposedly around for testing purposes, but who knows if it even works anymore. Making other callsites explicitly state their ErrorClassifier gets us down to two constructors, one of which can delegate to the other. I think having both these constructors is useful because there's a linkage between creating a new executor service and specifying that the AQV should shut down the service at the end of the visitation. And using a static create() method doesn't work because of AQV's inheritance model. PiperOrigin-RevId: 155406771
* java_common.create_provider now takes depsets )Gravatar Stephen Twigg2017-05-09
| | | | | | | | | | | | | | | | | | rjars = java_common.create_provider( compile_time_jars = depset(), runtime_jars = merged_runtime.transitive_runtime_deps, ) This avoids linearizing the runtime_deps (with the corresponding memory issues). Must be a JavaProvider for proper interaction with native rules but cannot just be a simple merge since runtime_deps should not contribute to compile of the dependent rules. Note, this will effect a change of the already-released API; however, function marked as undocumented in an experimental object.... Change-Id: I54542a5d57c75e762b2276e0a1988816901a0def PiperOrigin-RevId: 155384266
* Migrate off versioned javac and Error Prone targetsGravatar Liam Miller-Cushon2017-05-09
| | | | | Change-Id: Iad1e07ad55d5304d7c3dbb8bdab856728a91432d PiperOrigin-RevId: 155375893
* Automated g4 rollback of commit 48c636637a5a4fba1c0c509bdc3724450155d792.Gravatar aehlig2017-05-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Rollforward with fix To have stdout/stderr in the BuildEventStream, the BuildEventStreamerModule registers a listener that accumulates the values for the streamer to collect it and regularly send it over the stream. As we have to also catch stdout/stderr that happens early in the build, we have to register the listener before(!) the options are parsed; therefore it is registered unconditionally. Now, if there is no streamer created after parsing the options there is no one to collect the data and it grows indefinitely. Fix this, by disabling the collection in this case. *** Original change description *** Automated g4 rollback of commit 9e37b2e52d6e42eec15712942c7f208b64c651e5. *** Reason for rollback *** Results in NegativeArraySizeExceptions when there's a high volume of data. *** Original change description *** BEP: Report stdout/stderr By recording registering a properly synchronized OutErr as listener and providing it as OutErrProvider to the BuildEventStreamer. Change-Id: Id553fcdb85327be28561634268511304fcc2ad3f PiperOrigin-RevId: 155374710
* Rename some --incompatible_* flags to be more specificGravatar brandjon2017-05-08
| | | | | | | | | This is possibly a nit, but we don't want to reuse flag names in the future, so it's a good idea to include what the flag *does* in the name as opposed to just the feature it affects, in case the same feature is changed multiple times. Updated javadoc for incompatible change system to say so. This rename is ok because these flags have only been submitted over the past couple days. RELNOTES: None PiperOrigin-RevId: 155371363
* Do not report errors when aspects try to attach to files.Gravatar dslomov2017-05-08
| | | | | | | | | | | Instead, silently ignore them in the same way we do for rules to which aspects are not applicable. In the future aspects will gain the ability to apply to, and propagate through, files. RELNOTES: None. PiperOrigin-RevId: 155369925
* BEP: Provide infrastructure to report configurationsGravatar Klaus Aehlig2017-05-08
| | | | | | | | | | In preparation to support multi-configuration builds, provide infrastructure allowing build events to reference BuildConfigurations. The streaming mechanism will ensure that build configurations are introduced in the stream before being referenced for the first time. Change-Id: I6b96fbebc76a05eff4f75a07e8a9cfbcd57f9c22 PiperOrigin-RevId: 155368666
* Actually run AaptCommandBuilderTest and ↵Gravatar ajmichael2017-05-08
| | | | | | | AndroidDataSerializerAndDeserializerTest. RELNOTES: None PiperOrigin-RevId: 155268496
* Automated g4 rollback of commit 9e37b2e52d6e42eec15712942c7f208b64c651e5.Gravatar michajlo2017-05-08
| | | | | | | | | | | | | | | | *** Reason for rollback *** Results in NegativeArraySizeExceptions when there's a high volume of data. *** Original change description *** BEP: Report stdout/stderr By recording registering a properly synchronized OutErr as listener and providing it as OutErrProvider to the BuildEventStreamer. Change-Id: Id553fcdb85327be28561634268511304fcc2ad3f PiperOrigin-RevId: 155252872
* Blaze now passes an extra flag to JavaBuilder, --testonly, toGravatar eaftan2017-05-05
| | | | | | | | | | mark compilations of test code. We plan to use this for Error Prone checks that need to distinguish between test and production code, such as enforcing @VisibleForTesting. PiperOrigin-RevId: 155231021
* Add dynamic config support for top-level configuration hooks.Gravatar gregce2017-05-05
| | | | PiperOrigin-RevId: 155223580
* Add sha256 attribute to git_repositoryGravatar kchodorow2017-05-05
| | | | | | | | | | | RELNOTES: Adds a sha256 attribute to git_repository and new_git_repository. This can only be used if the remote is a public GitHub repository. It forces Bazel to download the repository as a tarball, which will often be faster and more robust than cloning it. #2147. PiperOrigin-RevId: 155223382
* Create new android_instrumentation rule.Gravatar ajmichael2017-05-05
| | | | | | | | | | | | | | This rule is responsible for building the target and instrumentation APKs used by an Android instrumentation test. If they are provided as APKs (e.g. from an android_binary or a genrule) they will be used as is. If they are provided as libraries, APKs will be created. This CL does not actually implement building target and instrumentation APKs from libraries, that will come in a follow-up CL as it will require some heavy refactoring of AndroidBinary.java. Follow-up CLs will add features such as repackaging the APKs to remove duplicate classes, reproguarding the target APK with the test code, validating that the target and instrumentation APKs were signed with the same debug key and verifying that instrumentation stanza appears in the instrumentation APKs manifest. Note that this CL does _not_ install the rule in the BazelRuleClassProvider, so this CL does not make it usable by anyone. Once the other android testing rules are ready, I will install them all. One small step towards https://github.com/bazelbuild/bazel/issues/903. RELNOTES: None PiperOrigin-RevId: 155220900
* Automated g4 rollback of commit 9dec9a09d1e4d27e7cff73c440195a32d3b90752.Gravatar plf2017-05-05
| | | | PiperOrigin-RevId: 155194438
* Cat the jvm.log if presentGravatar dmarting2017-05-05
| | | | | | | | | | Issue like #2939 are impossible to debug due to missing jvm.log, make the test framework print it before dying if the error log output the jvm.log Fixes #2939 (at least the part we can act on). PiperOrigin-RevId: 155192458
* Add compile_jars for Skylark to JavaProviderGravatar Stephen Twigg2017-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add compile_jars Skylark accessor to JavaProvider. This outputs the non-recursive set of jars needed to build with this target. Allows Skylark tools to get the same set of compile_jars that JavaLibrary is getting. Added test that verifies Skylark was getting lists from both compile_jars and transitive_runtime_jars of the expected length. Then, verified (via test code) those nested sets were identical to the ones provided by the java_library. To reviewers: First, would like to add documentation flags to these fields in JavaProvider. Is it possible, instead of adding them to this map to follow use the @SkylarkCallable annotation to expose methods on JavaProvider instead? It would then also be nice to mark these as experimental since won't really know the final API until java_skylark_library sandwich is done. I also tested this locally via bazel build //src:bazel and then doing ~/bazelsandbox/bazel/bazel-bin/src/bazel test SomeTarget in a different repo that had a .bzl file trying to use compile_jars. Change-Id: I1779c1b6303f36e50076c3479bfcb15a25aa95d8 PiperOrigin-RevId: 155191816
* Create new android_device_script_fixture rule.Gravatar ajmichael2017-05-05
| | | | | | | | | | | | | | | | This rule simply provides a shell script that is run on a device as part of a test which can come from an input file or as a string command. It also takes a list of APKs that need to be installed before the fixture can be run. Note that this CL does _not_ install the rule in the BazelRuleClassProvider, so this CL does not make it usable by anyone. Once the other android testing rules are ready, I will install them all. One small step towards https://github.com/bazelbuild/bazel/issues/903. RELNOTES: None PiperOrigin-RevId: 155155984
* Remove some more usages of res2.MergingException and open source some tests.Gravatar ajmichael2017-05-05
| | | | | | | Since https://github.com/bazelbuild/bazel/issues/2709 was fixed, this CL also enables ParsedAndroidDataTest. RELNOTES: None PiperOrigin-RevId: 155155095
* Really fix the breakage at HEAD with BazelGravatar dmarting2017-05-04
| | | | | | The file is AbstractPackageLoaderTest.java not AbstractBazelPackageLoaderTest.java. PiperOrigin-RevId: 155138964
* Fix broken Bazel build ↵Gravatar nharmata2017-05-04
| | | | | | (http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=linux-x86_64/lastBuild/console). PiperOrigin-RevId: 155122394
* Make symlinks consistentGravatar kchodorow2017-05-04
| | | | PiperOrigin-RevId: 155105523
* Introduce package_name() function to replace the magic PACKAGE_NAME constant.Gravatar laurentlb2017-05-04
| | | | | | | | Also, repository_name() replaces REPOSITORY_NAME. In .bzl files, they are prefixed with "native.". RELNOTES: None. PiperOrigin-RevId: 155102221
* Remove MergingExceptionGravatar corysmith2017-05-04
| | | | | | | Fixes https://github.com/bazelbuild/bazel/issues/2709 RELNOTES: None. PiperOrigin-RevId: 155097576
* Implement dynamically configured LIPO builds.Gravatar gregce2017-05-04
| | | | | | | | | | | | | | | 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. This doesn't actually turn dynamic LIPO on. So the direct effect of this change should be a no-op. The flip will come in a followup change. For now, dynamic LIPO can be triggered with --experimental_dynamic_configs=notrim. PiperOrigin-RevId: 155096056
* Implement a flag to forbid the `+` operator for dictsGravatar vladmos2017-05-04
| | | | | Usage: --incompatible_dict_plus=true (the default value is false). PiperOrigin-RevId: 155094639
* Fix Java styleGravatar vladmos2017-05-04
| | | | PiperOrigin-RevId: 155087895
* Implement a flag for extend-like behavior of the `+=` operator for listsGravatar vladmos2017-05-04
| | | | | Usage: --incompatible_list_plus_equals=true (the default value is false). PiperOrigin-RevId: 155084916
* Add the flag --incompatible_keyword_only_syntax to forbid keyword-only syntax.Gravatar laurentlb2017-05-04
| | | | | | | | | | | | | | | | Keyword-only syntax is when a parameter happens after the `*` paramter, e.g. def foo(a, *, b): pass or: def foo(a, *b, c): pass The syntax is not compatible with Python 2 (it's supported only in Python 3), and breaking tooling based on Python2. RELNOTES: Keyword-only syntax in a function definition is deprecated (e.g. `def foo(a, *, b)` or `def foo(a, *b, c)`) and will be removed in the future. PiperOrigin-RevId: 155071704
* Introduce BazelPackageLoader.Gravatar nharmata2017-05-04
| | | | | | | | | This is a standalone library for loading packages. It is intended to be used by clients outside of Bazel (for now, Kythe). Perform BazelPackageLoader#loadPackage in the testing hook used in all of Bazel's unit tests and integration tests. This gives us very good test coverage for BazelPackageLoader. RELNOTES: None PiperOrigin-RevId: 155004070
* BuildOptions cleanup:Gravatar gregce2017-05-04
| | | | | | | | | | | | | | | | | | | | | 1) Remove obsolete originalOptions field. This was originally added to support "parent" transitions, which supported config1 -> config2 -> config1 transitions by having config2 store config1's options. The purpose of this feature was to support LIPO (which has a DATA -> TARGET transition). But https://github.com/bazelbuild/bazel/commit/ff29c0b39cf936a2699b05edd54f483f1a037d93 makes this unnecessary. 2) Support the "disable actions" feature of the LIPO context collector configuration. Putting this in BuildOptions make this dynamic config-compatible. This change intentionally doesn't add disableOptions to BuildOptions.equals() or BuildOptions.hashCode(). It'd be great to do that. But that has semantic consequences. And we've run into really tricky bugs in the past with dynamic configurations and BuildOptions.equals / BuildConfiguration.equals. So it's best to experiment with that in its own change. PiperOrigin-RevId: 154999718
* Rollforward #2 of: Basic open-source crosstool to support targeting apple ↵Gravatar cparsons2017-05-04
| | | | | | | platform types. RELNOTES: None. PiperOrigin-RevId: 154993630