| load("//tools/python:private/defs.bzl", "py_test") | |
| package(default_visibility = ["//visibility:private"]) | |
| exports_files([ | |
| "bin/bazel", | |
| "bin/bazel_jdk_minimal", | |
| "testenv.sh", | |
| "integration_test_setup.sh", | |
| "sandboxing_test_utils.sh", | |
| "unittest.bash", | |
| "shell_utils.sh", | |
| ]) | |
| filegroup( | |
| name = "srcs", | |
| srcs = glob(["**"]) + [ | |
| "//src/test/shell/bazel:srcs", | |
| "//src/test/shell/integration:srcs", | |
| ], | |
| visibility = ["//src:__pkg__"], | |
| ) | |
| sh_library( | |
| name = "bashunit", | |
| srcs = [ | |
| "unittest.bash", | |
| "unittest_utils.sh", | |
| ], | |
| data = [ | |
| "testenv.sh", | |
| "//tools:test_sharding_compliant", | |
| ], | |
| visibility = ["//visibility:public"], | |
| ) | |
| # Test bashunit with python to avoid recursion. | |
| py_test( | |
| name = "bashunit_test", | |
| size = "medium", | |
| srcs = ["unittest_test.py"], | |
| data = [ | |
| ":bashunit", | |
| # This test relies on writing shell scripts that use bash runfiles | |
| # to load the actual copy of unittest.bash being tested. | |
| "@bazel_tools//tools/bash/runfiles", | |
| ], | |
| main = "unittest_test.py", | |
| tags = [ | |
| "no_windows", # test runs bash scripts in a subprocess | |
| ], | |
| ) | |
| sh_library( | |
| name = "shell_utils", | |
| srcs = ["shell_utils.sh"], | |
| visibility = ["//src/test/shell/integration:__pkg__"], | |
| ) | |
| sh_test( | |
| name = "shell_utils_test", | |
| srcs = ["shell_utils_test.sh"], | |
| data = [ | |
| "testenv.sh", | |
| ":bashunit", | |
| ":shell_utils", | |
| "@bazel_tools//tools/bash/runfiles", | |
| ], | |
| ) | |
| sh_test( | |
| name = "shell_utils_symlinks_test", | |
| srcs = ["shell_utils_symlinks_test.sh"], | |
| data = [ | |
| "testenv.sh", | |
| ":bashunit", | |
| ":shell_utils", | |
| "@bazel_tools//tools/bash/runfiles", | |
| ], | |
| tags = [ | |
| "no_windows", # test asserts symlink behavior | |
| ], | |
| ) | |
| test_suite( | |
| name = "windows_tests", | |
| tags = [ | |
| "-no_windows", | |
| "-slow", | |
| ], | |
| visibility = ["//visibility:private"], | |
| ) | |
| test_suite( | |
| name = "all_windows_tests", | |
| tests = [ | |
| ":windows_tests", | |
| "//src/test/shell/bazel:all_windows_tests", | |
| "//src/test/shell/integration:all_windows_tests", | |
| ], | |
| visibility = ["//src:__pkg__"], | |
| ) |