diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-10-04 15:33:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-10-04 15:33:10 +0900 |
| commit | 46e79e69ae866df88cb9442a7329c72662ed2db3 (patch) | |
| tree | 13561c1e7273ed0311da37957e4a82d15b243ba4 /tests/typedef_struct.sh | |
| parent | 7e11675136edf8136f812c85cd45bc88ba405533 (diff) | |
| download | ducc-46e79e69ae866df88cb9442a7329c72662ed2db3.tar.gz ducc-46e79e69ae866df88cb9442a7329c72662ed2db3.tar.zst ducc-46e79e69ae866df88cb9442a7329c72662ed2db3.zip | |
refactor: rename test files
Diffstat (limited to 'tests/typedef_struct.sh')
| -rw-r--r-- | tests/typedef_struct.sh | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/typedef_struct.sh b/tests/typedef_struct.sh new file mode 100644 index 0000000..7181a86 --- /dev/null +++ b/tests/typedef_struct.sh @@ -0,0 +1,85 @@ +cat <<'EOF' > expected +42 +EOF +test_diff <<'EOF' +void* calloc(); +int printf(); + +struct S { + int x; +}; +typedef struct S S; + +int main() { + S* s = calloc(1, sizeof(S)); + s->x = 42; + printf("%d\n", s->x); + return 0; +} +EOF + +cat <<'EOF' > expected +4 +EOF +test_diff <<'EOF' +struct S0; +typedef struct S0 S0; + +struct S1 { + int x; +}; + +struct S2 { + int x; +}; + +struct S3 { + int x; +}; + +struct S4 { + int x; +}; + +struct S0 { + int x; +}; + +int printf(const char*, ...); +int main() { + printf("%zu\n", sizeof(S0)); +} +EOF + +cat <<'EOF' > expected +8 +4 +4 +EOF + +test_diff <<'EOF' +int printf(); + +typedef struct { + int x; + int y; +} S; + +typedef union { + int a; + char b; +} U; + +typedef enum { + RED, + GREEN, + BLUE +} E; + +int main() { + printf("%zu\n", sizeof(S)); + printf("%zu\n", sizeof(U)); + printf("%zu\n", sizeof(E)); +} +EOF + |
