aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/055.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/055.sh')
-rw-r--r--tests/055.sh39
1 files changed, 35 insertions, 4 deletions
diff --git a/tests/055.sh b/tests/055.sh
index 6fc3608..997f12b 100644
--- a/tests/055.sh
+++ b/tests/055.sh
@@ -1,7 +1,3 @@
-cat <<'EOF' > expected
-8
-EOF
-
cat <<'EOF' > header.h
int add(int a, int b) {
return a + b;
@@ -10,6 +6,9 @@ int add(int a, int b) {
int printf(const char*, ...);
EOF
+cat <<'EOF' > expected
+8
+EOF
test_diff <<'EOF'
#include "header.h"
@@ -18,3 +17,35 @@ int main() {
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