initial commit

This commit is contained in:
2026-02-12 00:45:31 -08:00
commit 5f168f370b
3024 changed files with 804889 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
// Unit tests for sketch runner functionality
#include "test.h"
using namespace fl;
// Test sketch implementation
static int setup_call_count = 0;
static int loop_call_count = 0;
static bool test_mode = false;
// Mock Arduino functions for testing
void setup() {
if (test_mode) {
setup_call_count++;
printf("SKETCH: setup() called (count: %d)\n", setup_call_count);
}
}
void loop() {
if (test_mode) {
loop_call_count++;
printf("SKETCH: loop() called (count: %d)\n", loop_call_count);
}
}
// Direct declarations for testing (avoiding DLL export complexity in test context)
extern "C" {
void sketch_setup();
void sketch_loop();
}
// Simple implementations that call the Arduino functions
void sketch_setup() {
setup();
}
void sketch_loop() {
loop();
}
TEST_CASE("Sketch Runner - Basic Functionality") {
// Reset counters and enable test mode
setup_call_count = 0;
loop_call_count = 0;
test_mode = true;
printf("RUNNER: Starting sketch runner test\n");
// Call sketch_setup() once
printf("RUNNER: Calling sketch_setup()\n");
sketch_setup();
CHECK_EQ(setup_call_count, 1);
// Call sketch_loop() five times
for (int i = 1; i <= 5; i++) {
printf("RUNNER: Calling sketch_loop() - iteration %d\n", i);
sketch_loop();
CHECK_EQ(loop_call_count, i);
}
printf("RUNNER: Test completed successfully\n");
printf("RUNNER: Final state - setup called %d times, loop called %d times\n",
setup_call_count, loop_call_count);
// Verify final state
CHECK_EQ(setup_call_count, 1);
CHECK_EQ(loop_call_count, 5);
// Disable test mode
test_mode = false;
}