| load("@rules_cc//cc:cc_test.bzl", "cc_test") |
| load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "objc_library") |
| load("//rules:universal_binary.bzl", "universal_binary") |
| load("//test:starlark_apple_binary.bzl", "starlark_apple_binary") |
| load("//test:starlark_apple_static_library.bzl", "starlark_apple_static_library") |
| load(":framework_includes_provider.bzl", "framework_includes_lib") |
| |
| package( |
| default_testonly = 1, |
| default_visibility = ["//test:__subpackages__"], |
| ) |
| |
| TARGETS_UNDER_TEST_TAGS = [ |
| "manual", |
| "notap", |
| ] |
| |
| cc_binary( |
| name = "cc_test_binary", |
| srcs = ["main.cc"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| cc_binary( |
| name = "cc_test_binary_no_sandbox", |
| srcs = ["main.cc"], |
| tags = TARGETS_UNDER_TEST_TAGS + ["no-sandbox"], |
| ) |
| |
| cc_library( |
| name = "c_main", |
| srcs = ["main.c"], |
| copts = ["-std=c99"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| cc_library( |
| name = "cc_main", |
| srcs = ["main.cc"], |
| copts = ["-std=c++20"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| universal_binary( |
| name = "multi_arch_cc_binary", |
| binary = ":cc_test_binary", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| starlark_apple_binary( |
| name = "macos_binary", |
| minimum_os_version = "13.0", |
| platform_type = "macos", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":cc_main"], |
| ) |
| |
| starlark_apple_binary( |
| name = "macos_binary_with_spaces", |
| minimum_os_version = "13.0", |
| platform_type = "macos", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":objc_lib_with_spaces"], |
| ) |
| |
| cc_library( |
| name = "cc_lib", |
| srcs = ["cc_lib.cc"], |
| copts = ["-DFROM_BUILD_COPTS=1"], |
| defines = ["FROM_BUILD_DEFINES=1"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| objc_library( |
| name = "objc_pch_lib", |
| srcs = ["objc_pch_lib.m"], |
| pch = "pch.pch", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| objc_library( |
| name = "objc_lib", |
| srcs = ["objc_lib.m"], |
| copts = ["-DFROM_BUILD_COPTS=1"], |
| defines = ["FROM_BUILD_DEFINES=1"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = ["cc_lib"], |
| ) |
| |
| framework_includes_lib( |
| name = "framework_includes_dep", |
| framework_includes = ["test/test_data/frameworks"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| objc_library( |
| name = "objc_framework_includes_lib", |
| srcs = [ |
| "objc_lib.cpp", |
| "objc_lib.m", |
| ], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":framework_includes_dep"], |
| ) |
| |
| objc_library( |
| name = "objc_library_sdk_frameworks", |
| srcs = ["main.m"], |
| # SDKs picked at random but shouldn't overlap with things that might be linked naturally |
| sdk_frameworks = ["CalendarStore"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| weak_sdk_frameworks = ["Accounts"], |
| ) |
| |
| starlark_apple_binary( |
| name = "macos_binary_with_sdk_frameworks", |
| minimum_os_version = "13.0", |
| platform_type = "macos", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":objc_library_sdk_frameworks"], |
| ) |
| |
| objc_library( |
| name = "objc_no_arc_lib", |
| non_arc_srcs = ["objc_lib.m"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| objc_library( |
| name = "objc_lib_with_spaces", |
| srcs = ["objc lib with spaces.m"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| starlark_apple_static_library( |
| name = "static_lib", |
| minimum_os_version = "15.0", |
| platform_type = "ios", |
| deps = [":objc_lib"], |
| ) |
| |
| objc_library( |
| name = "objc_main", |
| srcs = ["main.m"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = ["objc_lib"], |
| ) |
| |
| objc_library( |
| name = "objc_lib_with_unused_symbol", |
| srcs = ["objc_lib_with_unused_symbol.m"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| starlark_apple_binary( |
| name = "ios_app_with_unused_symbol", |
| minimum_os_version = "13.0", |
| platform_type = "ios", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":objc_lib_with_unused_symbol"], |
| ) |
| |
| starlark_apple_binary( |
| name = "visionos_binary", |
| minimum_os_version = "1.0", |
| platform_type = "visionos", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":objc_main"], |
| ) |
| |
| objc_library( |
| name = "watch_main", |
| srcs = ["watch_main.m"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":cc_lib"], |
| ) |
| |
| starlark_apple_binary( |
| name = "watch_binary", |
| minimum_os_version = "8.0", |
| platform_type = "watchos", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":watch_main"], |
| ) |
| |
| objc_library( |
| name = "ios_main", |
| srcs = ["ios_main.m"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":cc_lib"], |
| ) |
| |
| starlark_apple_binary( |
| name = "ios_binary", |
| minimum_os_version = "15.0", |
| platform_type = "ios", |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":ios_main"], |
| ) |
| |
| cc_library( |
| name = "duplicate_object_lib", |
| srcs = [ |
| "cc_lib.cc", |
| "duplicate.cc", |
| "nested/duplicate.cc", |
| ], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| objc_library( |
| name = "objcpp_lib", |
| srcs = ["objcpp_lib.mm"], |
| copts = ["-DFROM_BUILD_COPTS=1"], |
| defines = ["FROM_BUILD_DEFINES=1"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| cc_library( |
| name = "test_lib_for_coverage", |
| srcs = ["test_lib.c"], |
| hdrs = ["test_lib.h"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| ) |
| |
| cc_test( |
| name = "c_test", |
| srcs = ["c_test_for_coverage.c"], |
| tags = TARGETS_UNDER_TEST_TAGS, |
| deps = [":test_lib_for_coverage"], |
| ) |