feat: add eval stdlib module with dynamic expression evaluation and input validation tests

This commit is contained in:
2025-11-24 00:46:47 +00:00
parent e4bac92971
commit 9a83539e33
6 changed files with 622 additions and 8 deletions
+24 -8
View File
@@ -25,7 +25,8 @@ SOURCES = $(SRC_DIR)/main.c \
$(SRC_DIR)/stdlib/io/file_stdlib.c \
$(SRC_DIR)/stdlib/io/socket_stdlib.c \
$(SRC_DIR)/stdlib/async/async_stdlib.c \
$(SRC_DIR)/stdlib/constants/constants_stdlib.c
$(SRC_DIR)/stdlib/constants/constants_stdlib.c \
$(SRC_DIR)/stdlib/eval/eval_stdlib.c
OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%.o)
@@ -37,6 +38,8 @@ TESTS = $(TEST_DIR)/unittest.rc \
$(TEST_DIR)/test_stdlib_async.rc \
$(TEST_DIR)/test_oop.rc \
$(TEST_DIR)/test_preprocessor.rc \
$(TEST_DIR)/test_eval.rc \
$(TEST_DIR)/test_input_validation.rc \
$(TEST_DIR)/run_all_tests.rc
EXAMPLES = $(EXAMPLE_DIR)/http_simple.rc \
@@ -55,6 +58,7 @@ dirs:
@mkdir -p $(BUILD_DIR)/stdlib/io
@mkdir -p $(BUILD_DIR)/stdlib/async
@mkdir -p $(BUILD_DIR)/stdlib/constants
@mkdir -p $(BUILD_DIR)/stdlib/eval
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c
@mkdir -p $(dir $@)
@@ -71,27 +75,33 @@ test: $(TARGET)
@echo " RC LANGUAGE - COMPREHENSIVE TEST SUITE"
@echo "================================================================"
@echo ""
@echo "[1/7] Running Language Features Tests..."
@echo "[1/9] Running Language Features Tests..."
@$(TARGET) $(TEST_DIR)/test_language_features.rc
@echo ""
@echo "[2/7] Running String Standard Library Tests..."
@echo "[2/9] Running String Standard Library Tests..."
@$(TARGET) $(TEST_DIR)/test_stdlib_string.rc
@echo ""
@echo "[3/7] Running Math Standard Library Tests..."
@echo "[3/9] Running Math Standard Library Tests..."
@$(TARGET) $(TEST_DIR)/test_stdlib_math.rc
@echo ""
@echo "[4/7] Running I/O Standard Library Tests..."
@echo "[4/9] Running I/O Standard Library Tests..."
@$(TARGET) $(TEST_DIR)/test_stdlib_io.rc
@echo ""
@echo "[5/7] Running Async Standard Library Tests..."
@echo "[5/9] Running Async Standard Library Tests..."
@$(TARGET) $(TEST_DIR)/test_stdlib_async.rc
@echo ""
@echo "[6/7] Running OOP Features Tests..."
@echo "[6/9] Running OOP Features Tests..."
@$(TARGET) $(TEST_DIR)/test_oop.rc
@echo ""
@echo "[7/7] Running Preprocessor Tests..."
@echo "[7/9] Running Preprocessor Tests..."
@$(TARGET) $(TEST_DIR)/test_preprocessor.rc
@echo ""
@echo "[8/9] Running Eval Function Tests..."
@$(TARGET) $(TEST_DIR)/test_eval.rc
@echo ""
@echo "[9/9] Running Input Validation Tests..."
@$(TARGET) $(TEST_DIR)/test_input_validation.rc
@echo ""
@echo "================================================================"
@echo "All comprehensive tests completed!"
@echo "================================================================"
@@ -120,6 +130,12 @@ test-oop: $(TARGET)
test-preprocessor: $(TARGET)
$(TARGET) $(TEST_DIR)/test_preprocessor.rc
test-eval: $(TARGET)
$(TARGET) $(TEST_DIR)/test_eval.rc
test-validation: $(TARGET)
$(TARGET) $(TEST_DIR)/test_input_validation.rc
run-http-simple: $(TARGET)
$(TARGET) $(EXAMPLE_DIR)/http_simple.rc