Minor CI and test cleanup (#2004)

This commit is contained in:
UebelAndre 2023-06-13 10:08:06 -07:00 committed by GitHub
parent 3e2ee941ae
commit 0a14bfbb0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 44 additions and 34 deletions

View File

@ -50,7 +50,6 @@ tasks:
test_targets:
- "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
- "//..."
- "//test/..."
- "-//test/conflicting_deps:conflicting_deps_test"
# TODO: This test does not work on RBE
- "-//test/versioned_dylib:versioned_dylib_test"
@ -103,8 +102,7 @@ tasks:
build_targets: *default_linux_targets
test_targets:
- "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
- "..."
- "//test/..."
- "//..."
- "-//test/conflicting_deps:conflicting_deps_test"
# TODO: This test does not work on RBE
- "-//test/versioned_dylib:versioned_dylib_test"
@ -118,8 +116,7 @@ tasks:
build_targets: *default_linux_targets
test_targets:
- "--" # Allows negative patterns; hack for https://github.com/bazelbuild/continuous-integration/pull/245
- "..."
- "//test/..."
- "//..."
- "-//test/conflicting_deps:conflicting_deps_test"
# TODO: This test does not work on RBE
- "-//test/versioned_dylib:versioned_dylib_test"
@ -302,11 +299,12 @@ tasks:
working_directory: examples
build_flags:
- "--repo_env=CC=clang"
- "--config=rustfmt"
- "--config=clippy"
build_targets:
- "//..."
test_targets:
- "//..."
build_flags: *aspects_flags
ubuntu2004_examples_clang_lld:
name: Examples with Clang and LLD
platform: ubuntu2004
@ -316,11 +314,12 @@ tasks:
build_flags:
- "--repo_env=CC=clang"
- "--linkopt=-fuse-ld=lld"
- "--config=rustfmt"
- "--config=clippy"
build_targets:
- "//..."
test_targets:
- "//..."
build_flags: *aspects_flags
ubuntu2004_examples_rolling:
name: "Examples with Rolling Bazel Version"
platform: ubuntu2004

View File

@ -1,19 +0,0 @@
load(
"@bazel_tools//tools/build_rules:test_rules.bzl",
"rule_test",
)
rule_test(
name = "hello_lib_rule_test",
generates = ["libhello_lib-683707109.rlib"],
rule = "//test/rust:hello_lib",
)
rule_test(
name = "hello_world_rule_test",
generates = select({
"//rust/platform:windows": ["hello_world.exe"],
"//conditions:default": ["hello_world"],
}),
rule = "//test/rust:hello_world",
)

View File

@ -1,3 +1,4 @@
load("@bazel_tools//tools/build_rules:test_rules.bzl", "rule_test")
load("//rust:defs.bzl", "rust_binary", "rust_library", "rust_test")
package(default_visibility = ["//visibility:public"])
@ -24,3 +25,18 @@ rust_test(
name = "hello_lib_test",
crate = ":hello_lib",
)
rule_test(
name = "hello_lib_rule_test",
generates = ["libhello_lib-683707109.rlib"],
rule = ":hello_lib",
)
rule_test(
name = "hello_world_rule_test",
generates = select({
"//rust/platform:windows": ["hello_world.exe"],
"//conditions:default": ["hello_world"],
}),
rule = "//test/rust:hello_world",
)

View File

@ -20,11 +20,13 @@ write_file(
],
)
sh_test(
rust_test(
name = "output_test",
srcs = ["output_test.sh"],
srcs = ["output_test.rs"],
args = ["$(rootpath :hello_env)"],
data = [":hello_env"],
edition = "2018",
use_libtest_harness = False,
)
rust_library(

View File

@ -0,0 +1,18 @@
use std::process;
fn main() {
let binary = std::env::args().nth(1).expect("No argument was provided");
let output = process::Command::new(binary)
.output()
.expect("Failed to spawn process");
if !output.status.success() {
eprintln!("Failed to execute binary");
eprintln!("{}", std::str::from_utf8(&output.stdout).unwrap());
eprintln!("{}", std::str::from_utf8(&output.stderr).unwrap());
process::exit(output.status.code().unwrap());
}
let stdout = std::str::from_utf8(&output.stdout).unwrap().trim();
assert_eq!("Howdy from version 1.2.3", stdout);
}

View File

@ -1,6 +0,0 @@
#!/bin/bash -eu
set -o pipefail
output="$($1)"
[[ "${output}" == "Howdy from version 1.2.3" ]] || { echo >&2 "Unexpected output: ${output}"; exit 1;}