mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-07-03 04:42:40 +00:00
checkpatch.pl: Request a test when a new command is added
This request is made with nearly every new command. Point to some docs on how to do it. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
7fc7d24116
commit
58978114d9
2 changed files with 56 additions and 0 deletions
|
@ -134,3 +134,53 @@ by writing in u-boot.lds ($(srctree)/board/boardname/u-boot.lds) these
|
||||||
.u_boot_list : {
|
.u_boot_list : {
|
||||||
KEEP(*(SORT(.u_boot_list*)));
|
KEEP(*(SORT(.u_boot_list*)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Writing tests
|
||||||
|
-------------
|
||||||
|
|
||||||
|
All new commands should have tests. Tests for existing commands are very
|
||||||
|
welcome.
|
||||||
|
|
||||||
|
It is fairly easy to write a test for a command. Enable it in sandbox, and
|
||||||
|
then add code that runs the command and checks the output.
|
||||||
|
|
||||||
|
Here is an example:
|
||||||
|
|
||||||
|
/* Test 'acpi items' command */
|
||||||
|
static int dm_test_acpi_cmd_items(struct unit_test_state *uts)
|
||||||
|
{
|
||||||
|
struct acpi_ctx ctx;
|
||||||
|
void *buf;
|
||||||
|
|
||||||
|
buf = malloc(BUF_SIZE);
|
||||||
|
ut_assertnonnull(buf);
|
||||||
|
|
||||||
|
ctx.current = buf;
|
||||||
|
ut_assertok(acpi_fill_ssdt(&ctx));
|
||||||
|
console_record_reset();
|
||||||
|
run_command("acpi items", 0);
|
||||||
|
ut_assert_nextline("dev 'acpi-test', type 1, size 2");
|
||||||
|
ut_assert_nextline("dev 'acpi-test2', type 1, size 2");
|
||||||
|
ut_assert_console_end();
|
||||||
|
|
||||||
|
ctx.current = buf;
|
||||||
|
ut_assertok(acpi_inject_dsdt(&ctx));
|
||||||
|
console_record_reset();
|
||||||
|
run_command("acpi items", 0);
|
||||||
|
ut_assert_nextline("dev 'acpi-test', type 2, size 2");
|
||||||
|
ut_assert_nextline("dev 'acpi-test2', type 2, size 2");
|
||||||
|
ut_assert_console_end();
|
||||||
|
|
||||||
|
console_record_reset();
|
||||||
|
run_command("acpi items -d", 0);
|
||||||
|
ut_assert_nextline("dev 'acpi-test', type 2, size 2");
|
||||||
|
ut_assert_nextlines_are_dump(2);
|
||||||
|
ut_assert_nextline("%s", "");
|
||||||
|
ut_assert_nextline("dev 'acpi-test2', type 2, size 2");
|
||||||
|
ut_assert_nextlines_are_dump(2);
|
||||||
|
ut_assert_nextline("%s", "");
|
||||||
|
ut_assert_console_end();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
DM_TEST(dm_test_acpi_cmd_items, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
|
||||||
|
|
|
@ -2255,6 +2255,12 @@ sub u_boot_line {
|
||||||
WARN("LIVETREE",
|
WARN("LIVETREE",
|
||||||
"Use the livetree API (dev_read_...)\n" . $herecurr);
|
"Use the livetree API (dev_read_...)\n" . $herecurr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# add tests for new commands
|
||||||
|
if ($line =~ /^\+.*do_($Ident)\(struct cmd_tbl.*/) {
|
||||||
|
WARN("CMD_TEST",
|
||||||
|
"Possible new command - make sure you add a test\n" . $herecurr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub process {
|
sub process {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue