* run

* print socketg error on change

* typo

* resa

* fix??

* try

* try error

* fix error, add more info

* some tests

* more self tests

* tests
This commit is contained in:
openshwprojects 2024-09-21 07:21:19 +02:00 committed by GitHub
parent 4a7ed0238b
commit 20d21d0a53
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 50 additions and 2 deletions

View File

@ -86,6 +86,9 @@ jobs:
cp ./run_*.bat flat/
mkdir -p flat/examples
cp -r ./obkSimulator/examples/* flat/examples/
- name: Run unit tests
run: |
./flat/openBeken_win32.exe -runUnitTests 2
- name: Compress build assets
run: |
Compress-Archive -Path flat/* -DestinationPath obkSimulator_win32_${{ needs.refs.outputs.version }}.zip

View File

@ -78,6 +78,8 @@ int HTTPServer_Start() {
}
}
#define DEFAULT_BUFLEN 10000
int g_prevHTTPResult;
void HTTPServer_RunQuickTick() {
int iResult;
int err;
@ -93,7 +95,10 @@ void HTTPServer_RunQuickTick() {
if (ClientSocket == INVALID_SOCKET) {
iResult = WSAGetLastError();
if(iResult != WSAEWOULDBLOCK) {
printf("accept failed with error: %d\n", iResult);
if (iResult != g_prevHTTPResult) {
printf("accept failed with error: %d\n", iResult);
g_prevHTTPResult = iResult;
}
}
return;
}

View File

@ -237,6 +237,9 @@ void Test_Commands_Channels() {
CMD_ExecuteCommand("setChannel 1 $rand", 0);
printf("Rand - channel 1 is %i\n", CHANNEL_Get(1));
}
// cause error
//SELFTEST_ASSERT_CHANNEL(3, 666);
}

View File

@ -375,6 +375,13 @@ void Test_Http_LED_SingleChannel() {
SELFTEST_ASSERT_JSON_VALUE_STRING("StatusSTS", "POWER", "ON");
CMD_ExecuteCommand("led_enableAll 0", 0);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll", 0);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll==1", 0);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll==0", 1);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll!=1", 1);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll!=2", 1);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll<1", 1);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll<0", 0);
// StatusSTS contains POWER and Dimmer
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 100);
@ -391,6 +398,7 @@ void Test_Http_LED_SingleChannel() {
CMD_ExecuteCommand("led_dimmer 61", 0);
SELFTEST_ASSERT_EXPRESSION("$led_dimmer", 61);
// StatusSTS contains POWER and Dimmer
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);
@ -398,6 +406,7 @@ void Test_Http_LED_SingleChannel() {
CMD_ExecuteCommand("led_enableAll 1", 0);
SELFTEST_ASSERT_EXPRESSION("$led_enableAll", 1);
// StatusSTS contains POWER and Dimmer
Test_FakeHTTPClientPacket_JSON("cm?cmnd=STATUS");
SELFTEST_ASSERT_JSON_VALUE_INTEGER("StatusSTS", "Dimmer", 61);

View File

@ -111,6 +111,9 @@ void Test_LFS() {
// get this file
Test_FakeHTTPClientPacket_GET("api/lfs/command_file_2.txt");
SELFTEST_ASSERT_HTML_REPLY("this string has spaces really");
CMD_ExecuteCommand("lfs_append command_file_2.txt !!", 0);
Test_FakeHTTPClientPacket_GET("api/lfs/command_file_2.txt");
SELFTEST_ASSERT_HTML_REPLY("this string has spaces really!!");
// check file commands
CMD_ExecuteCommand("lfs_append numbers.txt value is ", 0);

View File

@ -6,9 +6,11 @@ static int g_selfTestErrors = 0;
int g_selfTestsMode = 0;
void SelfTest_Failed(const char *file, const char *function, int line, const char *exp) {
g_selfTestErrors++;
printf("ERROR: SelfTest failed for %s\n", exp);
printf("Check %s - %s - line %i\n", file, function, line);
g_selfTestErrors++;
printf("Total SelfTest errors so far: %i\n", g_selfTestErrors);
system("pause");
}

View File

@ -81,6 +81,29 @@ void Test_WS2812B() {
SELFTEST_ASSERT_PIXEL(4, 0, 255, 0);
SELFTEST_ASSERT_PIXEL(5, 0, 0, 255);
CMD_ExecuteCommand("startDriver PixelAnim", 0);
CMD_ExecuteCommand("led_enableAll 1", 0);
CMD_ExecuteCommand("led_dimmer 100", 0);
CMD_ExecuteCommand("led_basecolor_rgb FF0000", 0);
for (int i = 0; i < 6; i++) {
SELFTEST_ASSERT_PIXEL(i, 255, 0, 0);
}
CMD_ExecuteCommand("led_basecolor_rgb FFFF00", 0);
for (int i = 0; i < 6; i++) {
SELFTEST_ASSERT_PIXEL(i, 255, 255, 0);
}
CMD_ExecuteCommand("led_enableAll 0", 0);
for (int i = 0; i < 6; i++) {
SELFTEST_ASSERT_PIXEL(i, 0, 0, 0);
}
CMD_ExecuteCommand("led_enableAll 1", 0);
for (int i = 0; i < 6; i++) {
SELFTEST_ASSERT_PIXEL(i, 255, 255, 0);
}
CMD_ExecuteCommand("led_basecolor_rgb FF00FF", 0);
for (int i = 0; i < 6; i++) {
SELFTEST_ASSERT_PIXEL(i, 255, 0, 255);
}
}