blob: 9543df2f1832d11a74aacf5c8f30491d1ea5ab54 [file] [log] [blame]
"""Starlark tests for cc_shared_library"""
load("@bazel_skylib//lib:unittest.bzl", "analysistest", "asserts")
def _linking_suffix_test_impl(ctx):
env = analysistest.begin(ctx)
target_under_test = analysistest.target_under_test(env)
actions = analysistest.target_actions(env)
for arg in reversed(actions[1].argv):
if arg.find(".a") != -1 or arg.find("-l") != -1:
asserts.equals(env, "libbar4.a", arg[arg.rindex("/") + 1:])
break
return analysistest.end(env)
linking_suffix_test = analysistest.make(_linking_suffix_test_impl)
def _additional_inputs_test_impl(ctx):
env = analysistest.begin(ctx)
target_under_test = analysistest.target_under_test(env)
actions = analysistest.target_actions(env)
found = False
for arg in actions[1].argv:
if arg.find("-Wl,--script=") != -1:
asserts.equals(env, "examples/test_cc_shared_library/additional_script.txt", arg[13:])
found = True
break
asserts.true(env, found, "Should have seen option --script=")
return analysistest.end(env)
additional_inputs_test = analysistest.make(_additional_inputs_test_impl)
def _link_once_repeated_test_impl(ctx):
env = analysistest.begin(ctx)
asserts.expect_failure(env, "already linked statically")
return analysistest.end(env)
link_once_repeated_test = analysistest.make(_link_once_repeated_test_impl, expect_failure = True)