aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/struct_basics.sh
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-01-24 01:43:01 +0900
committernsfisis <nsfisis@gmail.com>2026-01-24 01:43:01 +0900
commitc780cbb6acd0e0526f2d305138190392bdc8cdd7 (patch)
treedf1edba6eb5778a00e1f4c8a5051414d5bb37e71 /tests/struct_basics.sh
parentd179d944c0633d3aa2420009335791b115f67052 (diff)
downloadducc-c780cbb6acd0e0526f2d305138190392bdc8cdd7.tar.gz
ducc-c780cbb6acd0e0526f2d305138190392bdc8cdd7.tar.zst
ducc-c780cbb6acd0e0526f2d305138190392bdc8cdd7.zip
refactor: organize test files
Diffstat (limited to 'tests/struct_basics.sh')
-rw-r--r--tests/struct_basics.sh137
1 files changed, 0 insertions, 137 deletions
diff --git a/tests/struct_basics.sh b/tests/struct_basics.sh
deleted file mode 100644
index 13a50a5..0000000
--- a/tests/struct_basics.sh
+++ /dev/null
@@ -1,137 +0,0 @@
-cat <<'EOF' > expected
-EOF
-test_diff <<'EOF'
-struct Token {
- int kind;
- char* value;
-};
-
-struct Define {
- char* from;
- struct Token* to;
-};
-
-struct AstNode;
-
-struct Type {
- int kind;
- struct Type* to;
- struct AstNode* members;
-};
-
-struct AstNode {
- int kind;
- struct AstNode* next;
- struct AstNode* last;
- char* name;
- struct AstNode* func_params;
- struct AstNode* func_body;
- int int_value;
- struct AstNode* expr1;
- struct AstNode* expr2;
- struct AstNode* expr3;
- int op;
- struct Type* ty;
- int var_index;
- struct AstNode* node1;
- struct AstNode* node2;
- char** str_literals;
-};
-
-struct LVar {
- char* name;
- struct Type* ty;
-};
-
-struct Func {
- char* name;
- struct Type* ty;
-};
-
-struct Parser {
- struct Token* tokens;
- int pos;
- struct LVar* locals;
- int n_locals;
- struct Func* funcs;
- int n_funcs;
- char** str_literals;
- int n_str_literals;
-};
-
-struct CodeGen {
- int next_label;
- int* loop_labels;
-};
-
-int main() {
- return 0;
-}
-EOF
-
-cat <<'EOF' > expected
-42
-123
-EOF
-test_diff <<'EOF'
-struct S {
- int a;
- int b;
-};
-
-int printf();
-void* calloc();
-
-int main() {
- struct S* sp;
- sp = calloc(1, sizeof(struct S));
- sp->a = 42;
- printf("%d\n", sp->a);
- (*sp).b = 123;
- printf("%d\n", (*sp).b);
- return 0;
-}
-EOF
-
-cat <<'EOF' > expected
-42
-EOF
-test_diff <<'EOF'
-void* calloc();
-int printf();
-
-struct T;
-
-struct S {
- struct T* a;
-};
-
-struct T {
- int b;
-};
-
-int main() {
- struct S* s = calloc(1, sizeof(struct S));
- s->a = calloc(1, sizeof(struct T));
- s->a->b = 42;
- printf("%d\n", s->a->b);
- return 0;
-}
-EOF
-
-test_exit_code 0 <<'EOF'
-#include <helpers.h>
-
-struct S {
- int a, b;
-};
-
-struct T {
- short *a, b, c[12];
-};
-
-int main() {
- ASSERT_EQ(8, sizeof(struct S));
- ASSERT_EQ(40, sizeof(struct T));
-}
-EOF