aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Francois-Rene Rideau <tunes@google.com>2015-07-29 15:40:46 +0000
committerGravatar Lukacs Berki <lberki@google.com>2015-07-29 16:04:06 +0000
commit608b4cd3aad529456f5e69072b115f4f760f81b7 (patch)
treea631a00e8a920b6ab395e053018fd552618173f8
parenta93c63bb96ac9f540d8d39ae4158cc8bd335e127 (diff)
Introduce trivial rust tests
-- MOS_MIGRATED_REVID=99378104
-rw-r--r--examples/rust/hello_lib/BUILD17
-rw-r--r--examples/rust/hello_lib/src/greeter.rs31
-rw-r--r--examples/rust/hello_lib/src/lib.rs15
-rw-r--r--examples/rust/hello_lib/tests/greeting.rs23
-rw-r--r--examples/rust/hello_world/BUILD9
-rw-r--r--examples/rust/hello_world/src/main.rs22
-rw-r--r--tools/build_rules/test_rules.bzl15
7 files changed, 8 insertions, 124 deletions
diff --git a/examples/rust/hello_lib/BUILD b/examples/rust/hello_lib/BUILD
deleted file mode 100644
index 64cc935b27..0000000000
--- a/examples/rust/hello_lib/BUILD
+++ /dev/null
@@ -1,17 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-load("/tools/build_rules/rust/rust", "rust_library", "rust_test")
-
-rust_library(
- name = "hello_lib",
- srcs = [
- "src/greeter.rs",
- "src/lib.rs",
- ],
-)
-
-rust_test(
- name = "greeting",
- srcs = ["tests/greeting.rs"],
- deps = [":hello_lib"],
-)
diff --git a/examples/rust/hello_lib/src/greeter.rs b/examples/rust/hello_lib/src/greeter.rs
deleted file mode 100644
index be59ff888d..0000000000
--- a/examples/rust/hello_lib/src/greeter.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2015 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-pub struct Greeter {
- greeting: String,
-}
-
-impl Greeter {
- pub fn new(greeting: &str) -> Greeter {
- Greeter { greeting: greeting.to_string(), }
- }
-
- pub fn greeting(&self, thing: &str) -> String {
- format!("{} {}", &self.greeting, thing)
- }
-
- pub fn greet(&self, thing: &str) {
- println!("{} {}", &self.greeting, thing);
- }
-}
diff --git a/examples/rust/hello_lib/src/lib.rs b/examples/rust/hello_lib/src/lib.rs
deleted file mode 100644
index 8f2b5a11f5..0000000000
--- a/examples/rust/hello_lib/src/lib.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2015 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-pub mod greeter;
diff --git a/examples/rust/hello_lib/tests/greeting.rs b/examples/rust/hello_lib/tests/greeting.rs
deleted file mode 100644
index 842ba2983b..0000000000
--- a/examples/rust/hello_lib/tests/greeting.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2015 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-extern crate hello_lib;
-
-use hello_lib::greeter;
-
-#[test]
-fn test_greeting() {
- let hello = greeter::Greeter::new("Hello");
- assert_eq!("Hello world", hello.greeting("world"));
-}
diff --git a/examples/rust/hello_world/BUILD b/examples/rust/hello_world/BUILD
deleted file mode 100644
index e774dcc835..0000000000
--- a/examples/rust/hello_world/BUILD
+++ /dev/null
@@ -1,9 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-load("/tools/build_rules/rust/rust", "rust_binary")
-
-rust_binary(
- name = "hello_world",
- srcs = ["src/main.rs"],
- deps = ["//examples/rust/hello_lib"],
-)
diff --git a/examples/rust/hello_world/src/main.rs b/examples/rust/hello_world/src/main.rs
deleted file mode 100644
index 2e837ce0bb..0000000000
--- a/examples/rust/hello_world/src/main.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2015 Google Inc. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-extern crate hello_lib;
-
-use hello_lib::greeter;
-
-fn main() {
- let hello = greeter::Greeter::new("Hello");
- hello.greet("world");
-}
diff --git a/tools/build_rules/test_rules.bzl b/tools/build_rules/test_rules.bzl
index 450672249f..a083731efd 100644
--- a/tools/build_rules/test_rules.bzl
+++ b/tools/build_rules/test_rules.bzl
@@ -1,3 +1,5 @@
+"""Utilities for testing bazel."""
+#
# Copyright 2015 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,7 +13,6 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-"""test_rules.bzl: Utilities for testing bazel."""
### First, trivial tests that either always pass, always fail,
### or sometimes pass depending on a trivial computation.
@@ -191,15 +192,15 @@ def _rule_test_impl(ctx):
rule_ = ctx.attr.rule
rule_name = str(rule_.label)
exe = ctx.outputs.executable
- if ctx.attr.generates != []:
- prefix = ctx.label.package + "/"
+ if ctx.attr.generates:
+ prefix = rule_.label.package + "/"
generates = ctx.attr.generates
generated = [strip_prefix(prefix, f.short_path) for f in rule_.files]
if generates != generated:
fail("rule %s generates %s not %s"
% (rule_name, repr(generated), repr(generates)))
provides = ctx.attr.provides
- if provides != {}:
+ if provides:
files = []
commands = []
for k in provides.keys():
@@ -239,11 +240,11 @@ def _file_test_impl(ctx):
content = ctx.attr.content
regexp = ctx.attr.regexp
matches = ctx.attr.matches
- if (content == "") == (regexp == ""):
+ if bool(content) == bool(regexp):
fail("Must specify one and only one of content or regexp")
- if content != "" and matches != -1:
+ if content and matches != -1:
fail("matches only makes sense with regexp")
- if content != "":
+ if content:
dat = ctx.new_file(ctx.data_configuration.genfiles_dir, exe, ".dat")
ctx.file_action(
output=dat,