diff --git a/examples/system/console/example_test.py b/examples/system/console/example_test.py new file mode 100644 index 0000000000..23b25ef005 --- /dev/null +++ b/examples/system/console/example_test.py @@ -0,0 +1,29 @@ +from __future__ import print_function +import os +import sys + +try: + import IDF +except ImportError: + test_fw_path = os.getenv('TEST_FW_PATH') + if test_fw_path and test_fw_path not in sys.path: + sys.path.insert(0, test_fw_path) + import IDF + + +@IDF.idf_example_test(env_tag='Example_WIFI') +def test_examples_system_console(env, extra_data): + dut = env.get_dut('console_example', 'examples/system/console', app_config_name='history') + print("Using binary path: {}".format(dut.app.binary_path)) + dut.start_app() + dut.expect("Command history enabled") + env.close_dut(dut.name) + + dut = env.get_dut('console_example', 'examples/system/console', app_config_name='nohistory') + print("Using binary path: {}".format(dut.app.binary_path)) + dut.start_app() + dut.expect("Command history disabled") + + +if __name__ == '__main__': + test_examples_system_console() diff --git a/examples/system/console/main/console_example_main.c b/examples/system/console/main/console_example_main.c index 2348ac12e7..0255da410d 100644 --- a/examples/system/console/main/console_example_main.c +++ b/examples/system/console/main/console_example_main.c @@ -59,6 +59,10 @@ static void initialize_nvs(void) static void initialize_console(void) { + /* Drain stdout before reconfiguring it */ + fflush(stdout); + fsync(fileno(stdout)); + /* Disable buffering on stdin */ setvbuf(stdin, NULL, _IONBF, 0); @@ -121,6 +125,9 @@ void app_main(void) #if CONFIG_STORE_HISTORY initialize_filesystem(); + ESP_LOGI(TAG, "Command history enabled"); +#else + ESP_LOGI(TAG, "Command history disabled"); #endif initialize_console(); diff --git a/examples/system/console/sdkconfig.ci.history b/examples/system/console/sdkconfig.ci.history new file mode 100644 index 0000000000..bcd6e9beb5 --- /dev/null +++ b/examples/system/console/sdkconfig.ci.history @@ -0,0 +1 @@ +CONFIG_STORE_HISTORY=y diff --git a/examples/system/console/sdkconfig.ci.nohistory b/examples/system/console/sdkconfig.ci.nohistory new file mode 100644 index 0000000000..1b149540fd --- /dev/null +++ b/examples/system/console/sdkconfig.ci.nohistory @@ -0,0 +1 @@ +CONFIG_STORE_HISTORY=n