mirror of
https://github.com/alexhopeoconnor/WiFiManager.git
synced 2026-10-16 16:01:36 +10:00
Implement comprehensive test suite improvements
- Added 42 new tests covering critical functionality: * WiFi connection flow tests (6 tests) * Callback firing verification tests (4 tests) * DNS server lifecycle tests (3 tests) * Error condition tests (7 tests) * Parameter value management tests (5 tests) * WiFi scanning tests (4 tests) * State transition tests (4 tests) * Integration tests (5 tests) * Stress tests (5 tests) - Fixed compilation errors by replacing protected connectWifi() calls with public autoConnect() - Fixed config reset callback test to use resetSettings() instead of erase() - Added delays around resetSettings() calls to prevent ESP8266 WiFi stack crashes - Reduced stress test iterations to avoid excessive output - Improved test stability with better state checking and error handling Total test count: 86 tests (up from 44) All tests passing successfully
This commit is contained in:
@@ -30,9 +30,15 @@ void test_reset_settings() {
|
||||
|
||||
WiFiManager wm;
|
||||
|
||||
// Ensure WiFi is in a stable state before resetting
|
||||
delay(100);
|
||||
|
||||
// Reset settings (should not crash)
|
||||
wm.resetSettings();
|
||||
|
||||
// Small delay to allow WiFi operations to complete
|
||||
delay(100);
|
||||
|
||||
// Verify WiFi is not saved after reset
|
||||
// Note: ESP32 uses NVS for WiFi credentials which behaves differently than ESP8266's EEPROM
|
||||
// On ESP32, getWiFiIsSaved() may still return TRUE due to NVS persistence differences
|
||||
@@ -58,10 +64,10 @@ void test_disconnect() {
|
||||
WiFiManager wm;
|
||||
|
||||
// Disconnect should not crash even if not connected
|
||||
bool result1 = wm.disconnect();
|
||||
(void)wm.disconnect();
|
||||
|
||||
// Can be called multiple times safely
|
||||
bool result2 = wm.disconnect();
|
||||
(void)wm.disconnect();
|
||||
|
||||
// Verify no crash (results may be true/false depending on WiFi state)
|
||||
TEST_ASSERT_TRUE_MESSAGE(true, "disconnect() executed without crash");
|
||||
|
||||
Reference in New Issue
Block a user