xref: /llvm-project/libcxx/test/libcxx/module_std.gen.py (revision 22f20564a8fc29ce6d3f5de075a2849ff8acb874)
1# ===----------------------------------------------------------------------===##
2#
3# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4# See https://llvm.org/LICENSE.txt for license information.
5# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6#
7# ===----------------------------------------------------------------------===##
8
9# Test that all named declarations with external linkage match the
10# exported declarations in their associated module partition.
11# Then it tests the sum of the exported declarations in the module
12# partitions matches the export of the std module.
13
14# Note the test of the std module requires all partitions to be tested
15# first. Since lit tests have no dependencies, this means the test needs
16# to be one monolitic test. Since the test doesn't take very long it's
17# not a huge issue.
18
19# RUN: %{python} %s %{libcxx-dir}/utils
20
21import sys
22
23sys.path.append(sys.argv[1])
24from libcxx.test.modules import module_test_generator
25
26generator = module_test_generator(
27    "%t",
28    "%{module-dir}",
29    "%{clang-tidy}",
30    "%{test-tools-dir}/clang_tidy_checks/libcxx-tidy.plugin",
31    "%{cxx}",
32    "%{flags} %{compile_flags}",
33    "std",
34)
35
36
37print("//--- module_std.sh.cpp")
38generator.write_test("std")
39