[libc-commits] [libc] 05b7b22 - [libc] integration test outputs header in build (#98385)
via libc-commits
libc-commits at lists.llvm.org
Thu Jul 11 11:05:03 PDT 2024
Author: aaryanshukla
Date: 2024-07-11T11:05:00-07:00
New Revision: 05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b
URL: https://github.com/llvm/llvm-project/commit/05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b
DIFF: https://github.com/llvm/llvm-project/commit/05b7b22a2f28f7bdeea61e6e55871c2db4cdab3b.diff
LOG: [libc] integration test outputs header in build (#98385)
- python's unittest does not allow for custom args so sys.argv was used
Added:
Modified:
libc/newhdrgen/CMakeLists.txt
libc/newhdrgen/tests/test_integration.py
Removed:
libc/newhdrgen/tests/output/test_small.h
################################################################################
diff --git a/libc/newhdrgen/CMakeLists.txt b/libc/newhdrgen/CMakeLists.txt
index 33750d181c4b3..f8d003f8425bd 100644
--- a/libc/newhdrgen/CMakeLists.txt
+++ b/libc/newhdrgen/CMakeLists.txt
@@ -1,16 +1,16 @@
if(LLVM_LIBC_FULL_BUILD)
-
enable_testing()
set(NEWHDGEN_TESTS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests)
+ set(TEST_OUTPUT_DIR ${CMAKE_BINARY_DIR}/newhdrgen/output)
add_test(
NAME newhdrgen_integration_test
- COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${CMAKE_CURRENT_SOURCE_DIR} python3 ${NEWHDGEN_TESTS_DIR}/test_integration.py
+ COMMAND python3 ${NEWHDGEN_TESTS_DIR}/test_integration.py --output_dir ${TEST_OUTPUT_DIR}
)
add_custom_target(check-newhdrgen
- COMMAND ${CMAKE_CTEST_COMMAND} -R newhdrgen_integration_test
+ COMMAND ${CMAKE_CTEST_COMMAND} -R newhdrgen_integration_test --output-on-failure
)
message(STATUS "Integration test for newhdrgen added.")
diff --git a/libc/newhdrgen/tests/output/test_small.h b/libc/newhdrgen/tests/output/test_small.h
deleted file mode 100644
index d6ae0d0e282e7..0000000000000
--- a/libc/newhdrgen/tests/output/test_small.h
+++ /dev/null
@@ -1,42 +0,0 @@
-//===-- C standard library header test_small-------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_TEST_SMALL_H
-#define LLVM_LIBC_TEST_SMALL_H
-
-#include "__llvm-libc-common.h"
-#include "llvm-libc-macros/test_small-macros.h"
-
-#define MACRO_A 1
-
-#define MACRO_B 2
-
-#include <llvm-libc-types/type_a.h>
-#include <llvm-libc-types/type_b.h>
-
-enum {
- enum_a = value_1,
- enum_b = value_2,
-};
-
-__BEGIN_C_DECLS
-
-#ifdef FUNC_A_16
-void func_a()CONST_FUNC_A;
-#endif // FUNC_A_16
-
-#ifdef FUNC_B_16
-int func_b(int, float)CONST_FUNC_B;
-#endif // FUNC_B_16
-
-extern obj object_1;
-extern obj object_2;
-
-__END_C_DECLS
-
-#endif // LLVM_LIBC_TEST_SMALL_H
diff --git a/libc/newhdrgen/tests/test_integration.py b/libc/newhdrgen/tests/test_integration.py
index 59d8d4204a578..f12d18bc04a49 100644
--- a/libc/newhdrgen/tests/test_integration.py
+++ b/libc/newhdrgen/tests/test_integration.py
@@ -3,23 +3,14 @@
from pathlib import Path
import os
import argparse
+import sys
class TestHeaderGenIntegration(unittest.TestCase):
def setUp(self):
- parser = argparse.ArgumentParser(
- description="TestHeaderGenIntegration arguments"
- )
- parser.add_argument(
- "--output_dir", type=str, help="Output directory for generated headers"
- )
- args, _ = parser.parse_known_args()
- output_dir_env = os.getenv("TEST_OUTPUT_DIR")
self.output_dir = Path(
- args.output_dir
- if args.output_dir
- else output_dir_env if output_dir_env else "libc/newhdrgen/tests/output"
+ args.output_dir if args.output_dir else "libc/newhdrgen/tests/output"
)
self.maxDiff = None
@@ -71,4 +62,14 @@ def test_generate_header(self):
if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="TestHeaderGenIntegration arguments")
+ parser.add_argument(
+ "--output_dir", type=str, help="Output directory for generated headers"
+ )
+ args, remaining_argv = parser.parse_known_args()
+
+ TestHeaderGenIntegration.output_dir = args.output_dir
+
+ sys.argv[1:] = remaining_argv
+
unittest.main()
More information about the libc-commits
mailing list