mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Add Kokoro config for new runtime tests
PiperOrigin-RevId: 277607217
This commit is contained in:
@@ -0,0 +1 @@
|
||||
build_file: "repo/scripts/runtime_tests.sh"
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright 2019 The gVisor Authors.
|
||||
#
|
||||
# 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.
|
||||
|
||||
source $(dirname $0)/common.sh
|
||||
|
||||
if [ ! -v RUNTIME ]; then
|
||||
echo 'Must set $RUNTIME' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
install_runsc_for_test runtimes
|
||||
test_runsc "//test/runtimes:${RUNTIME}_test"
|
||||
+5
-5
@@ -16,32 +16,32 @@ go_binary(
|
||||
)
|
||||
|
||||
runtime_test(
|
||||
name = "go1.12",
|
||||
blacklist_file = "blacklist_go1.12.csv",
|
||||
image = "gcr.io/gvisor-presubmit/go1.12",
|
||||
lang = "go",
|
||||
)
|
||||
|
||||
runtime_test(
|
||||
name = "java11",
|
||||
blacklist_file = "blacklist_java11.csv",
|
||||
image = "gcr.io/gvisor-presubmit/java11",
|
||||
lang = "java",
|
||||
)
|
||||
|
||||
runtime_test(
|
||||
name = "nodejs12.4.0",
|
||||
blacklist_file = "blacklist_nodejs12.4.0.csv",
|
||||
image = "gcr.io/gvisor-presubmit/nodejs12.4.0",
|
||||
lang = "nodejs",
|
||||
)
|
||||
|
||||
runtime_test(
|
||||
name = "php7.3.6",
|
||||
blacklist_file = "blacklist_php7.3.6.csv",
|
||||
image = "gcr.io/gvisor-presubmit/php7.3.6",
|
||||
lang = "php",
|
||||
)
|
||||
|
||||
runtime_test(
|
||||
name = "python3.7.3",
|
||||
blacklist_file = "blacklist_python3.7.3.csv",
|
||||
image = "gcr.io/gvisor-presubmit/python3.7.3",
|
||||
lang = "python",
|
||||
)
|
||||
|
||||
|
||||
@@ -2,32 +2,48 @@
|
||||
|
||||
load("@io_bazel_rules_go//go:def.bzl", "go_test")
|
||||
|
||||
# runtime_test is a macro that will create targets to run the given test target
|
||||
# with different runtime options.
|
||||
def runtime_test(
|
||||
name,
|
||||
lang,
|
||||
image,
|
||||
image_repo = "gcr.io/gvisor-presubmit",
|
||||
image_name = None,
|
||||
blacklist_file = None,
|
||||
shard_count = 50,
|
||||
size = "enormous",
|
||||
blacklist_file = ""):
|
||||
size = "enormous"):
|
||||
"""Generates sh_test and blacklist test targets for a given runtime.
|
||||
|
||||
Args:
|
||||
name: The name of the runtime being tested. Typically, the lang + version.
|
||||
This is used in the names of the generated test targets.
|
||||
lang: The language being tested.
|
||||
image_repo: The docker repository containing the proctor image to run.
|
||||
i.e., the prefix to the fully qualified docker image id.
|
||||
image_name: The name of the image in the image_repo.
|
||||
Defaults to the test name.
|
||||
blacklist_file: A test blacklist to pass to the runtime test's runner.
|
||||
shard_count: See Bazel common test attributes.
|
||||
size: See Bazel common test attributes.
|
||||
"""
|
||||
if image_name == None:
|
||||
image_name = name
|
||||
args = [
|
||||
"--lang",
|
||||
lang,
|
||||
"--image",
|
||||
image,
|
||||
"/".join([image_repo, image_name]),
|
||||
]
|
||||
data = [
|
||||
":runner",
|
||||
]
|
||||
if blacklist_file != "":
|
||||
if blacklist_file:
|
||||
args += ["--blacklist_file", "test/runtimes/" + blacklist_file]
|
||||
data += [blacklist_file]
|
||||
|
||||
# Add a test that the blacklist parses correctly.
|
||||
blacklist_test(lang, blacklist_file)
|
||||
blacklist_test(name, blacklist_file)
|
||||
|
||||
sh_test(
|
||||
name = lang + "_test",
|
||||
name = name + "_test",
|
||||
srcs = ["runner.sh"],
|
||||
args = args,
|
||||
data = data,
|
||||
@@ -35,15 +51,14 @@ def runtime_test(
|
||||
shard_count = shard_count,
|
||||
tags = [
|
||||
# Requires docker and runsc to be configured before the test runs.
|
||||
"manual",
|
||||
"local",
|
||||
],
|
||||
)
|
||||
|
||||
def blacklist_test(lang, blacklist_file):
|
||||
def blacklist_test(name, blacklist_file):
|
||||
"""Test that a blacklist parses correctly."""
|
||||
go_test(
|
||||
name = lang + "_blacklist_test",
|
||||
name = name + "_blacklist_test",
|
||||
embed = [":runner"],
|
||||
srcs = ["blacklist_test.go"],
|
||||
args = ["--blacklist_file", "test/runtimes/" + blacklist_file],
|
||||
|
||||
Reference in New Issue
Block a user