------- Original Message ------- On Sunday, June 19th, 2022 at 15:08, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > > On 6/19/22 16:23, Roger Knecht wrote: > > > On Thursday, June 9th, 2022 at 22:27, Roger Knecht rkne...@pm.me wrote: > > > > > On Wednesday, June 8th, 2022 at 15:59, Tom Rini tr...@konsulko.com wrote: > > > > > > > On Sat, Jun 04, 2022 at 11:19:15AM +0000, Roger Knecht wrote: > > > > > > > > > Add cat command to print file content to standard out > > > > > > > > > > Signed-off-by: Roger Knecht rkne...@pm.me > > > > > --- > > > > > v2: > > > > > - Moved cat from boot to shell commands > > > > > - Added MAINTAINERS entry > > > > > - Added comments > > > > > - Improved variable naming > > > > > > > > > > MAINTAINERS | 5 +++++ > > > > > cmd/Kconfig | 6 ++++++ > > > > > cmd/Makefile | 1 + > > > > > cmd/cat.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > > 4 files changed, 70 insertions(+) > > > > > create mode 100644 cmd/cat.c > > > > > > > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > > > > index 56be0bfad0..7c5cd178d9 100644 > > > > > --- a/MAINTAINERS > > > > > +++ b/MAINTAINERS > > > > > @@ -729,6 +729,11 @@ M: Simon Glass s...@chromium.org > > > > > S: Maintained > > > > > F: tools/buildman/ > > > > > > > > > > +CAT > > > > > +M: Roger Knecht rkne...@pm.me > > > > > +S: Maintained > > > > > +F: cmd/cat.c > > > > > + > > > > > CFI FLASH > > > > > M: Stefan Roese s...@denx.de > > > > > S: Maintained > > > > > diff --git a/cmd/Kconfig b/cmd/Kconfig > > > > > index 69c1814d24..8b531c7ebe 100644 > > > > > --- a/cmd/Kconfig > > > > > +++ b/cmd/Kconfig > > > > > @@ -1492,6 +1492,12 @@ endmenu > > > > > > > > > > menu "Shell scripting commands" > > > > > > > > > > +config CMD_CAT > > > > > + bool "cat" > > > > > + default y > > > > > > > > New commands shouldn't be default enabled. I also don't see a test. > > > > Please add a test, and enable the command in sandbox so the test is run. > > > > Thanks! > > > > > > Thanks for the review. Will be fixed in the next version. > > > > Hi Tom, > > > > I'm running into issues when writing a test for cat: > > > Dear Roger, > > tests for console commands should be written in Python, see > https://u-boot.readthedocs.io/en/latest/develop/py_testing.html. > > You will need a test fixture that generates the disk image with the file > that you want to load and display in the test function. Have a look at > test/py/tests/test_efi_bootmgr/ as an example. Thanks Heinrich, that was helpful.
> > We have different files that may be worth printing with 'cat': > > * UTF-8 text files like uEnv.txt run_command() (test/py/u_boot_console_base.py) is causing problems when UTF-8 strings are returned. I will skip the Unicode test for now. I might have time later to dig deeper. > * script files like boot.scr that can be executed with the 'source' command > * binary files > > I suggest that the 'cat' command should support all of these. For binary > files you can use the print_hex_dump() function for console output. This would require to auto detected binary files or at least need an additional parameter. The Unix utility 'cat' does not have a hex mode. As alternative I propose to implement a minimal 'xxd' for u-boot. I hope that is alright for you. > > Please, provide a man-page for the 'cat' command in doc/usage/cmd/. > You can use doc/usage/cmd/fatinfo.rst as a template. Will do. > > Best regards > > Heinrich Best regards, Roger