diff --git a/examples/demo_verification/BUILD b/examples/demo_verification/BUILD index c7b4000a9..cbca3b511 100644 --- a/examples/demo_verification/BUILD +++ b/examples/demo_verification/BUILD @@ -10,20 +10,12 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "examples_test_config", - config = ":lifecycle_demo_test.json", - flatbuffer_out_dir = "etc", -) - -pkg_files( - name = "examples_main_files", - srcs = [ +integration_test( + name = "examples", + srcs = ["test_examples.py"], + binaries = [ "//examples/c_supervised_app", "//examples/control_application:control_daemon", "//examples/control_application:lmcontrol", @@ -32,32 +24,10 @@ pkg_files( "//examples/rust_supervised_app", "//score/launch_manager", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/examples", -) - -pkg_files( - name = "examples_etc_files", - srcs = [ + config = ":lifecycle_demo_test.json", + files = [ "ecu_logging_config.json", "hm_logging.json", "logging.json", - ":examples_test_config", ], - prefix = "tests/examples", -) - -pkg_tar( - name = "examples_binaries", - srcs = [ - ":examples_etc_files", - ":examples_main_files", - ], -) - -integration_test( - name = "examples", - srcs = ["test_examples.py"], - test_binaries = ":examples_binaries", - deps = ["//tests/utils/testing_utils"], ) diff --git a/tests/integration/BUILD b/tests/integration/BUILD index 6f2aa546e..cd0c9e27f 100644 --- a/tests/integration/BUILD +++ b/tests/integration/BUILD @@ -1,5 +1,3 @@ -load("@rules_python//python:pip.bzl", "compile_pip_requirements") - # ******************************************************************************* # Copyright (c) 2026 Contributors to the Eclipse Foundation # diff --git a/tests/integration/complex_monitoring/BUILD b/tests/integration/complex_monitoring/BUILD index 086fdd289..0ce8d5bf1 100644 --- a/tests/integration/complex_monitoring/BUILD +++ b/tests/integration/complex_monitoring/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_complex_monitoring_config", - config = "//tests/integration/complex_monitoring:complex_monitoring.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_client_mock", srcs = ["control_client_mock.cpp"], @@ -54,36 +46,14 @@ cc_binary( ], ) -pkg_files( - name = "complex_monitoring_main_files", - srcs = [ +integration_test( + name = "complex_monitoring", + srcs = ["complex_monitoring.py"], + binaries = [ ":component_complex_monitoring", ":control_client_mock", "//score/launch_manager", "//tests/utils/test_helper:verification_process", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/complex_monitoring", -) - -pkg_files( - name = "complex_monitoring_etc_files", - srcs = [":lm_complex_monitoring_config"], - prefix = "tests/complex_monitoring", -) - -pkg_tar( - name = "complex_monitoring_binaries", - srcs = [ - ":complex_monitoring_etc_files", - ":complex_monitoring_main_files", - ], -) - -integration_test( - name = "complex_monitoring", - srcs = ["complex_monitoring.py"], - tags = ["integration"], - test_binaries = ":complex_monitoring_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":complex_monitoring.json", ) diff --git a/tests/integration/crash_on_startup/BUILD b/tests/integration/crash_on_startup/BUILD index 84416b40a..1a74dcca7 100644 --- a/tests/integration/crash_on_startup/BUILD +++ b/tests/integration/crash_on_startup/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_crash_on_startup_config", - config = "//tests/integration/crash_on_startup:crash_on_startup.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_client_mock", srcs = ["control_client_mock.cpp"], @@ -47,37 +39,15 @@ cc_binary( srcs = ["process_crashing_on_startup_always.cpp"], ) -pkg_files( - name = "crash_on_startup_main_files", - srcs = [ +integration_test( + name = "crash_on_startup", + srcs = ["crash_on_startup.py"], + binaries = [ ":control_client_mock", ":process_crashing_on_startup_always", ":process_crashing_on_startup_twice", "//score/launch_manager", "//tests/utils/test_helper:verification_process", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/crash_on_startup", -) - -pkg_files( - name = "crash_on_startup_etc_files", - srcs = [":lm_crash_on_startup_config"], - prefix = "tests/crash_on_startup", -) - -pkg_tar( - name = "crash_on_startup_binaries", - srcs = [ - ":crash_on_startup_etc_files", - ":crash_on_startup_main_files", - ], -) - -integration_test( - name = "crash_on_startup", - srcs = ["crash_on_startup.py"], - tags = ["integration"], - test_binaries = ":crash_on_startup_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":crash_on_startup.json", ) diff --git a/tests/integration/incorrect_config_non_reporting/BUILD b/tests/integration/incorrect_config_non_reporting/BUILD index 491b16d90..d84b30f28 100644 --- a/tests/integration/incorrect_config_non_reporting/BUILD +++ b/tests/integration/incorrect_config_non_reporting/BUILD @@ -11,21 +11,8 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* load("@rules_cc//cc:defs.bzl", "cc_binary") -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("@score_itf//:defs.bzl", "py_itf_test") -load("@score_lifecycle_pip//:requirements.bzl", "all_requirements") -load("@score_tooling//:defs.bzl", "score_py_pytest") -load("//:defs.bzl", "launch_manager_config") -load("//config:flatbuffers_rules.bzl", "flatbuffer_json_to_bin") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_non_reporting_config", - config = ":non_reporting_config.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "non_reporting_process", srcs = ["non_reporting_process.cpp"], @@ -37,34 +24,12 @@ cc_binary( ], ) -pkg_files( - name = "non_reporting_main_files", - srcs = [ - ":non_reporting_process", - "//score/launch_manager", - ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/incorrect_config_non_reporting", -) - -pkg_files( - name = "non_reporting_etc_files", - srcs = [":lm_non_reporting_config"], - prefix = "tests/incorrect_config_non_reporting", -) - -pkg_tar( - name = "non_reporting_binaries", - srcs = [ - ":non_reporting_etc_files", - ":non_reporting_main_files", - ], -) - integration_test( name = "incorrect_config_non_reporting", srcs = ["test_incorrect_config_non_reporting.py"], - tags = ["integration"], - test_binaries = ":non_reporting_binaries", - deps = ["//tests/utils/testing_utils"], + binaries = [ + ":non_reporting_process", + "//score/launch_manager", + ], + config = ":non_reporting_config.json", ) diff --git a/tests/integration/process_complex_rep_failure/BUILD b/tests/integration/process_complex_rep_failure/BUILD index 18adcc32c..478e2370e 100644 --- a/tests/integration/process_complex_rep_failure/BUILD +++ b/tests/integration/process_complex_rep_failure/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_process_complex_rep_failure_config", - config = "//tests/integration/process_complex_rep_failure:process_complex_rep_failure.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_client_mock", srcs = ["control_client_mock.cpp"], @@ -43,36 +35,14 @@ cc_binary( ], ) -pkg_files( - name = "process_complex_rep_failure_main_files", - srcs = [ +integration_test( + name = "process_complex_rep_failure", + srcs = ["process_complex_rep_failure.py"], + binaries = [ ":complex_reporting_process", ":control_client_mock", "//score/launch_manager", "//tests/utils/test_helper:verification_process", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/process_complex_rep_failure", -) - -pkg_files( - name = "process_complex_rep_failure_etc_files", - srcs = [":lm_process_complex_rep_failure_config"], - prefix = "tests/process_complex_rep_failure", -) - -pkg_tar( - name = "process_complex_rep_failure_binaries", - srcs = [ - ":process_complex_rep_failure_etc_files", - ":process_complex_rep_failure_main_files", - ], -) - -integration_test( - name = "process_complex_rep_failure", - srcs = ["process_complex_rep_failure.py"], - tags = ["integration"], - test_binaries = ":process_complex_rep_failure_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":process_complex_rep_failure.json", ) diff --git a/tests/integration/process_crash_monitoring/BUILD b/tests/integration/process_crash_monitoring/BUILD index ce622b120..0c8749bde 100644 --- a/tests/integration/process_crash_monitoring/BUILD +++ b/tests/integration/process_crash_monitoring/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_process_crash_monitoring_config", - config = "//tests/integration/process_crash_monitoring:process_crash_monitoring.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_client_mock", srcs = ["control_client_mock.cpp"], @@ -42,36 +34,15 @@ cc_binary( ], ) -pkg_files( - name = "process_crash_monitoring_main_files", - srcs = [ +integration_test( + name = "process_crash_monitoring", + srcs = ["process_crash_monitoring.py"], + binaries = [ + ":config", ":control_client_mock", ":process_crashing_on_runtime", "//score/launch_manager", "//tests/utils/test_helper:verification_process", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/process_crash_monitoring", -) - -pkg_files( - name = "process_crash_monitoring_etc_files", - srcs = [":lm_process_crash_monitoring_config"], - prefix = "tests/process_crash_monitoring", -) - -pkg_tar( - name = "process_crash_monitoring_binaries", - srcs = [ - ":process_crash_monitoring_etc_files", - ":process_crash_monitoring_main_files", - ], -) - -integration_test( - name = "process_crash_monitoring", - srcs = ["process_crash_monitoring.py"], - tags = ["integration"], - test_binaries = ":process_crash_monitoring_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":process_crash_monitoring.json", ) diff --git a/tests/integration/process_fd_leak/BUILD b/tests/integration/process_fd_leak/BUILD index 5266d57fa..13fdbb029 100644 --- a/tests/integration/process_fd_leak/BUILD +++ b/tests/integration/process_fd_leak/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_process_fd_leak_config", - config = "//tests/integration/process_fd_leak:process_fd_leak.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "native", srcs = [ @@ -62,36 +54,14 @@ cc_binary( ], ) -pkg_files( - name = "main_files", - srcs = [ +integration_test( + name = "process_fd_leak", + srcs = ["process_fd_leak.py"], + binaries = [ ":control_client", ":native", ":reporting", "//score/launch_manager", ], - attributes = pkg_attributes(mode = "0777"), - prefix = "tests/process_fd_leak", -) - -pkg_files( - name = "configs", - srcs = [":lm_process_fd_leak_config"], - prefix = "tests/process_fd_leak", -) - -pkg_tar( - name = "process_fd_leak_binaries", - srcs = [ - ":configs", - ":main_files", - ], -) - -integration_test( - name = "process_fd_leak", - srcs = ["process_fd_leak.py"], - tags = ["integration"], - test_binaries = ":process_fd_leak_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":process_fd_leak.json", ) diff --git a/tests/integration/process_launch_args/BUILD b/tests/integration/process_launch_args/BUILD index bdfac4c95..279ba3a61 100644 --- a/tests/integration/process_launch_args/BUILD +++ b/tests/integration/process_launch_args/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_process_launch_args_config", - config = "//tests/integration/process_launch_args:process_launch_args.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "process_initial", srcs = ["process_initial.cpp"], @@ -31,34 +23,12 @@ cc_binary( ], ) -pkg_files( - name = "process_launch_args_main_files", - srcs = [ - ":process_initial", - "//score/launch_manager", - ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/process_launch_args", -) - -pkg_files( - name = "process_launch_args_etc_files", - srcs = [":lm_process_launch_args_config"], - prefix = "tests/process_launch_args", -) - -pkg_tar( - name = "process_launch_args_binaries", - srcs = [ - ":process_launch_args_etc_files", - ":process_launch_args_main_files", - ], -) - integration_test( name = "process_launch_args", srcs = ["process_launch_args.py"], - tags = ["integration"], - test_binaries = ":process_launch_args_binaries", - deps = ["//tests/utils/testing_utils"], + binaries = [ + ":process_initial", + "//score/launch_manager", + ], + config = ":process_launch_args.json", ) diff --git a/tests/integration/process_simple_rep_failure/BUILD b/tests/integration/process_simple_rep_failure/BUILD index fae8ce6f4..113a28f4d 100644 --- a/tests/integration/process_simple_rep_failure/BUILD +++ b/tests/integration/process_simple_rep_failure/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_process_simple_rep_failure_config", - config = "//tests/integration/process_simple_rep_failure:process_simple_rep_failure.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_client_mock", srcs = ["control_client_mock.cpp"], @@ -42,36 +34,14 @@ cc_binary( ], ) -pkg_files( - name = "process_simple_rep_failure_main_files", - srcs = [ +integration_test( + name = "process_simple_rep_failure", + srcs = ["process_simple_rep_failure.py"], + binaries = [ ":control_client_mock", ":process_simple_reporting", "//score/launch_manager", "//tests/utils/test_helper:verification_process", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/process_simple_rep_failure", -) - -pkg_files( - name = "process_simple_rep_failure_etc_files", - srcs = [":lm_process_simple_rep_failure_config"], - prefix = "tests/process_simple_rep_failure", -) - -pkg_tar( - name = "process_simple_rep_failure_binaries", - srcs = [ - ":process_simple_rep_failure_etc_files", - ":process_simple_rep_failure_main_files", - ], -) - -integration_test( - name = "process_simple_rep_failure", - srcs = ["process_simple_rep_failure.py"], - tags = ["integration"], - test_binaries = ":process_simple_rep_failure_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":process_simple_rep_failure.json", ) diff --git a/tests/integration/process_wrong_binary_failure/BUILD b/tests/integration/process_wrong_binary_failure/BUILD index 3a36ccd48..d5b5aee22 100644 --- a/tests/integration/process_wrong_binary_failure/BUILD +++ b/tests/integration/process_wrong_binary_failure/BUILD @@ -10,17 +10,9 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_process_wrong_binary_failure_config", - config = "//tests/integration/process_wrong_binary_failure:process_wrong_binary_failure.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_client_mock", srcs = ["control_client_mock.cpp"], @@ -32,35 +24,13 @@ cc_binary( ], ) -pkg_files( - name = "process_wrong_binary_failure_main_files", - srcs = [ +integration_test( + name = "process_wrong_binary_failure", + srcs = ["process_wrong_binary_failure.py"], + binaries = [ ":control_client_mock", "//score/launch_manager", "//tests/utils/test_helper:verification_process", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/process_wrong_binary_failure", -) - -pkg_files( - name = "process_wrong_binary_failure_etc_files", - srcs = [":lm_process_wrong_binary_failure_config"], - prefix = "tests/process_wrong_binary_failure", -) - -pkg_tar( - name = "process_wrong_binary_failure_binaries", - srcs = [ - ":process_wrong_binary_failure_etc_files", - ":process_wrong_binary_failure_main_files", - ], -) - -integration_test( - name = "process_wrong_binary_failure", - srcs = ["process_wrong_binary_failure.py"], - tags = ["integration"], - test_binaries = ":process_wrong_binary_failure_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":process_wrong_binary_failure.json", ) diff --git a/tests/integration/smoke/BUILD b/tests/integration/smoke/BUILD index 97c23f26e..506497c00 100644 --- a/tests/integration/smoke/BUILD +++ b/tests/integration/smoke/BUILD @@ -11,12 +11,6 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* load("@rules_cc//cc:defs.bzl", "cc_binary") -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("@score_itf//:defs.bzl", "py_itf_test") -load("@score_lifecycle_pip//:requirements.bzl", "all_requirements") -load("@score_tooling//:defs.bzl", "score_py_pytest") -load("//:defs.bzl", "launch_manager_config") load("//tests/utils/bazel:integration.bzl", "integration_test") exports_files( @@ -24,12 +18,6 @@ exports_files( visibility = ["//examples:__subpackages__"], ) -launch_manager_config( - name = "lm_smoketest_config", - config = "//tests/integration/smoke:lifecycle_smoketest.json", - flatbuffer_out_dir = "etc", -) - cc_binary( name = "control_daemon_mock", srcs = ["control_daemon_mock.cpp"], @@ -53,35 +41,13 @@ cc_binary( ], ) -pkg_files( - name = "smoke_main_files", - srcs = [ +integration_test( + name = "smoke", + srcs = ["smoke.py"], + binaries = [ ":control_daemon_mock", ":gtest_process", "//score/launch_manager", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/smoke", -) - -pkg_files( - name = "smoke_etc_files", - srcs = [":lm_smoketest_config"], - prefix = "tests/smoke", -) - -pkg_tar( - name = "smoke_binaries", - srcs = [ - ":smoke_etc_files", - ":smoke_main_files", - ], -) - -integration_test( - name = "smoke", - srcs = ["smoke.py"], - tags = ["integration"], - test_binaries = ":smoke_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":lifecycle_smoketest.json", ) diff --git a/tests/integration/switch_run_target/BUILD b/tests/integration/switch_run_target/BUILD index aa532fbb5..714a09b60 100644 --- a/tests/integration/switch_run_target/BUILD +++ b/tests/integration/switch_run_target/BUILD @@ -10,17 +10,10 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") -load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("//:defs.bzl", "launch_manager_config") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") +load("@rules_cc//cc:cc_library.bzl", "cc_library") load("//tests/utils/bazel:integration.bzl", "integration_test") -launch_manager_config( - name = "lm_switch_run_target_config", - config = "//tests/integration/switch_run_target:switch_run_target.json", - flatbuffer_out_dir = "etc", -) - cc_library( name = "switch_run_target_common", hdrs = ["common.hpp"], @@ -66,9 +59,10 @@ cc_binary( ], ) -pkg_files( - name = "switch_run_target_main_files", - srcs = [ +integration_test( + name = "switch_run_target", + srcs = ["switch_run_target.py"], + binaries = [ ":component_a", ":component_b", ":component_d", @@ -76,28 +70,5 @@ pkg_files( ":control_client_mock", "//score/launch_manager", ], - attributes = pkg_attributes(mode = "0755"), - prefix = "tests/switch_run_target", -) - -pkg_files( - name = "switch_run_target_etc_files", - srcs = [":lm_switch_run_target_config"], - prefix = "tests/switch_run_target", -) - -pkg_tar( - name = "switch_run_target_binaries", - srcs = [ - ":switch_run_target_etc_files", - ":switch_run_target_main_files", - ], -) - -integration_test( - name = "switch_run_target", - srcs = ["switch_run_target.py"], - tags = ["integration"], - test_binaries = ":switch_run_target_binaries", - deps = ["//tests/utils/testing_utils"], + config = ":switch_run_target.json", ) diff --git a/tests/utils/bazel/integration.bzl b/tests/utils/bazel/integration.bzl index e8646d623..6267f513e 100644 --- a/tests/utils/bazel/integration.bzl +++ b/tests/utils/bazel/integration.bzl @@ -10,35 +10,82 @@ # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* +load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") +load("@rules_pkg//pkg:tar.bzl", "pkg_tar") load("@score_itf//:defs.bzl", "py_itf_test") load("@score_lifecycle_pip//:requirements.bzl", "all_requirements") +load("//:defs.bzl", "launch_manager_config") load("//tests/utils/bazel:constants.bzl", "SCORE_TEST_INSTALL_PREFIX") -def integration_test(name, srcs, test_binaries, args = [], deps = [], data = [], install_prefix = SCORE_TEST_INSTALL_PREFIX, **kwargs): - """Creates an integration test with test binaries available, also adds all - the required dependencies. +def integration_test( + name, + srcs, + binaries, + files = [], + config = None, + install_prefix = SCORE_TEST_INSTALL_PREFIX, + **kwargs): + """Creates an integration test. + + Test binaries and all required dependencies are made available. + + This macro will create a few build targets which you may find useful: + :environment: A tarball of all the files in the test environment + :config: The launch manager configuration + :(name): Runs the test script Args: - test_binaries: Label of the `package_test_binaries` target + name: Name of the test + srcs: The test script + binaries: The binaries under test + files: Additional files + config: Launch manager configuration file + install_prefix: Installation prefix for the test environment + **kwargs: Miscellaneous arguments passed through to `py_itf_test` """ - merged_data = data + [test_binaries] + select({ - "//config:host": [], - "//conditions:default": ["//tests/utils/environments:test_environment"], - }) + pkg_files( + name = "binaries", + srcs = binaries, + attributes = pkg_attributes(mode = "0755"), + prefix = "tests/{}".format(name), + ) - # The test container does not ship the sanitizer runtime; daemon fails to start. - sanitizer_tags = ["no-asan"] - tags = kwargs.pop("tags", []) + sanitizer_tags + if config: + launch_manager_config( + name = "config", + config = config, + flatbuffer_out_dir = "etc", + ) + all_files = files + [":config"] + else: + all_files = files + + pkg_files( + name = "files", + srcs = all_files, + prefix = "tests/{}".format(name), + ) + + pkg_tar(name = "environment", srcs = [":binaries", ":files"]) py_itf_test( name = name, srcs = srcs, - tags = tags, - deps = deps + all_requirements + ["@score_tooling//python_basics/score_pytest:attribute_plugin"], - data = merged_data, - args = args + [ - "--score-test-binary-path=$(locations {})".format(test_binaries), + tags = kwargs.pop("tags", []) + [ + "integration", + "no-asan", # The test container does not ship the sanitizer runtime; daemon fails to start. + ], + deps = kwargs.pop("deps", []) + all_requirements + [ + "@score_tooling//python_basics/score_pytest:attribute_plugin", + "//tests/utils/testing_utils", + ], + data = kwargs.pop("data", []) + [":environment"] + select({ + "//config:host": [], + "//conditions:default": ["//tests/utils/environments:test_environment"], + }), + args = kwargs.pop("args", []) + [ + "--score-test-binary-path=$(locations :environment)", "--score-test-remote-directory={}/tests/{}".format(install_prefix, name), ] + select({ "//config:x86_64-linux": [