From 608b4cd3aad529456f5e69072b115f4f760f81b7 Mon Sep 17 00:00:00 2001 From: Francois-Rene Rideau Date: Wed, 29 Jul 2015 15:40:46 +0000 Subject: Introduce trivial rust tests -- MOS_MIGRATED_REVID=99378104 --- examples/rust/hello_lib/BUILD | 17 ----------------- examples/rust/hello_lib/src/greeter.rs | 31 ------------------------------- examples/rust/hello_lib/src/lib.rs | 15 --------------- examples/rust/hello_lib/tests/greeting.rs | 23 ----------------------- examples/rust/hello_world/BUILD | 9 --------- examples/rust/hello_world/src/main.rs | 22 ---------------------- tools/build_rules/test_rules.bzl | 15 ++++++++------- 7 files changed, 8 insertions(+), 124 deletions(-) delete mode 100644 examples/rust/hello_lib/BUILD delete mode 100644 examples/rust/hello_lib/src/greeter.rs delete mode 100644 examples/rust/hello_lib/src/lib.rs delete mode 100644 examples/rust/hello_lib/tests/greeting.rs delete mode 100644 examples/rust/hello_world/BUILD delete mode 100644 examples/rust/hello_world/src/main.rs 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, -- cgit v1.2.3