Files

26 lines
1.0 KiB
Python

"""作者工具的 GNU 链接脚本迁移合同;不读取或修改宿主工具。"""
import unittest
from build_inputs import MULTIARCH, signed_library_paths
class LinkerScriptTests(unittest.TestCase):
def test_rewrites_only_root_library_tokens(self):
original = (f"GROUP ( /lib/{MULTIARCH}/libc.so.6 "
f"/usr/lib/{MULTIARCH}/libc_nonshared.a "
"AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )")
expected = original.replace(f"( /lib/{MULTIARCH}/", f"( /usr/lib/{MULTIARCH}/")
expected = expected.replace("/lib64/ld-linux-x86-64.so.2",
f"/usr/lib/{MULTIARCH}/ld-linux-x86-64.so.2")
self.assertEqual(signed_library_paths(original), expected)
self.assertEqual(signed_library_paths(expected), expected)
def test_keeps_relative_and_other_target_paths(self):
original = "GROUP ( libgcc_s.so.1 -lgcc /lib/other-target/libc.so )"
self.assertEqual(signed_library_paths(original), original)
if __name__ == "__main__":
unittest.main()