console: re-use the available REPL console API and improve linenoise

Console example doesn't duplicate code in `console` component.
Linenoise has been improved: it now has a parametrized command line
length. It is now possible to paste data efficiently to the console.
Note: this can only be done if the cursor is at the end of the line.

Closes https://github.com/espressif/esp-idf/issues/7057
This commit is contained in:
Omar Chebib
2021-07-15 11:37:11 +08:00
committed by Zim Kalinowski
parent da3038cd7a
commit 0fd74a43c8
53 changed files with 617 additions and 27 deletions

View File

@@ -0,0 +1,22 @@
# type: ignore
from __future__ import print_function
import ttfw_idf
@ttfw_idf.idf_example_test(env_tag='Example_GENERIC', target=['esp32', 'esp32c3'])
def test_examples_system_console_basic(env, _):
dut = env.get_dut('console_example', 'examples/system/console/basic', 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/basic', 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_basic()