From 9a2fbf6f4854b1f2cfd5979b91d5b3d7e183d487 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 3 Sep 2025 19:03:48 +0900 Subject: test: merge test scripts --- tests/test_include_local.sh | 100 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 tests/test_include_local.sh (limited to 'tests/test_include_local.sh') diff --git a/tests/test_include_local.sh b/tests/test_include_local.sh new file mode 100644 index 0000000..c9fe755 --- /dev/null +++ b/tests/test_include_local.sh @@ -0,0 +1,100 @@ +cat <<'EOF' > header.h +int add(int a, int b) { + return a + b; +} + +int printf(const char*, ...); +EOF + +cat <<'EOF' > expected +8 +EOF +test_diff <<'EOF' +#include "header.h" + +int main() { + printf("%d\n", add(5, 3)); + return 0; +} +EOF + +mkdir -p foo +cat <<'EOF' > bar.h +#include "baz.h" +EOF +cat <<'EOF' > baz.h +#define A 123 +EOF +cat <<'EOF' > foo/bar.h +#include "baz.h" +EOF +cat <<'EOF' > foo/baz.h +#define A 456 +EOF + +cat <<'EOF' > expected +123 +456 +EOF +test_diff <<'EOF' +int printf(const char*, ...); + +int main() { +#include "bar.h" + printf("%d\n", A); + +#undef A + +#include "foo/bar.h" + printf("%d\n", A); +} +EOF + +cat <<'EOF' > expected +12 +EOF + +cat <<'EOF' > math.h +int multiply(int a, int b) { + return a * b; +} +EOF + +cat <<'EOF' > calc.h +#include "math.h" + +int calculate(int x) { + return multiply(x, 2); +} + +int printf(const char*, ...); +EOF + +test_diff <<'EOF' +#include "calc.h" + +int main() { + printf("%d\n", calculate(6)); + return 0; +} +EOF + +cat <<'EOF' > expected +42 +EOF + +cat <<'EOF' > header.h +#define A 42 +EOF + +test_diff <<'EOF' +#include "header.h" + +int printf(); + +int main() { + printf("%d\n", A); + return 0; +} +EOF + -- cgit v1.2.3-70-g09d2