blob: 57ab4a4db96e3141651a7971533bfced8c5d5625 [file]
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"],
)