summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeLines
* dm: core: Replace of_offset with accessorSimon Glass2017-02-08-5/+5
| | | | | | | | | At present devices use a simple integer offset to record the device tree node associated with the device. In preparation for supporting a live device tree, which uses a node pointer instead, refactor existing code to access this field through an inline function. Signed-off-by: Simon Glass <sjg@chromium.org>
* travis: Add efi_loader grub2 testAlexander Graf2016-11-27-10/+47
| | | | | | | | We have all the building blocks now to run arbitrary efi applications in travis. The most important one out there is grub2, so let's add a simple test to verify that grub2 still comes up. Signed-off-by: Alexander Graf <agraf@suse.de>
* efi_loader: Allow to compile helloworld.efi w/o bundling itAlexander Graf2016-11-27-1/+1
| | | | | | | | | | | | | | | | | Today we can compile a self-contained hello world efi test binary that allows us to quickly verify whether the EFI loader framwork works. We can use that binary outside of the self-contained test case though, by providing it to a to-be-tested system via tftp. This patch separates compilation of the helloworld.efi file from including it in the u-boot binary for "bootefi hello". It also modifies the efi_loader test case to enable travis to pick up the compiled file. Because we're now no longer bloating the resulting u-boot binary, we can enable compilation always, giving us good travis test coverage. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Tom Rini <trini@konsulko.com>
* tests: Add efi_loader hello world testAlexander Graf2016-11-26-0/+158
| | | | | | | | | | Now that we have working network tests and a hello world efi application built inside our tree, we can automatically test that efi binary running inside of U-Boot. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* tests: net: Offset downloads to 4MBAlexander Graf2016-11-26-2/+2
| | | | | | | | | | | | | The network test currently downloads files at 0MB offset of RAM start. This works for most ARM systems, but x86 has weird memory layout constraints on the first MB of RAM. To not get caught into any of these, let's add a 4MB pad from start of RAM to the default memory offset. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* fs-test.sh: Update expected resultsStefan Brüns2016-11-21-3/+3
| | | | | | | After the latest changes, ext4 no longer has any fails. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
* test/py: expose config and log as session scoped fixtureStefan Brüns2016-11-21-0/+26
| | | | | | | | | If a test uses a fixture which is expensive to setup, the fixture can possibly created with session or module scope. As u_boot_console has function scope, it can not be used in this case. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
* test/py: ensure a log section exists for skipped testsStephen Warren2016-10-23-1/+12
| | | | | | | | | | | | | | | In pytest 3, runtestprotocol() may not call pytest_runtest_setup() if the test is skipped. That call is required to create a section for the test in the log file. If this is skipped, the call to log.end_section() at the tail of pytest_runtest_protocol() will throw an exception. This patch ensures that a log section always exists, both to avoid the exception and to ensure that a consistently structured log file is always created. Cc: Stefan Brüns <stefan.bruens@rwth-aachen.de> Reported-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Signed-off-by: Stephen Warren <swarren@nvidia.com> Tested-by: Tom Rini <trini@konsulko.com>
* test/py/tests/test_sleep.py: Add check for CONFIG_CMD_MISCTom Rini2016-10-14-0/+2
| | | | | | | We can only run this command if the sleep command is enabled and that depends on CONFIG_CMD_MISC Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge git://git.denx.de/u-boot-fdtTom Rini2016-10-13-1/+4
|\
| * libfdt: Bring in upstream stringlist functionsSimon Glass2016-10-13-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These have now landed upstream. The naming is different and in one case the function signature has changed. Update the code to match. This applies the following upstream commits by Thierry Reding <treding@nvidia.com> : 604e61e fdt: Add functions to retrieve strings 8702bd1 fdt: Add a function to get the index of a string 2218387 fdt: Add a function to count strings Signed-off-by: Simon Glass <sjg@chromium.org>
* | test: add NFS download testGuillaume GARDET2016-10-13-0/+49
|/ | | | | | | | | | | | | | Add a NFS download test, based on TFTP test. Tested on i.MX6 SabreLite board. Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Tom Rini <trini@konsulko.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
* fs-test.sh: Update expected resultsTom Rini2016-09-23-7/+7
| | | | | | | | Thanks to Stefan Brüns we have more tests and a few more passes too, update the expected output now. Cc: Stefan Brüns <stefan.bruens@rwth-aachen.de> Signed-off-by: Tom Rini <trini@konsulko.com>
* test/fs: Check writes using "." (same dir) relative pathStefan Brüns2016-09-23-1/+28
| | | | | | <path>/<fname> and <path>/./<fname> should reference the same file. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* test/fs: Check ext4 behaviour if dirent is first entry in directory blockStefan Brüns2016-09-23-0/+10
| | | | | | | | | | This is a regression test for a crash happening if the first dirent in the block matches. Code tried to access a predecessor entry which does not exist. The crash happened for any block, but "." is always the first entry in the first directory block and thus easy to check for. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* test/fs: strip noise from filesystem code prior to checking resultsStefan Brüns2016-09-23-11/+15
| | | | | | | | ext4 and fat code emit some diagnostic messages during command execution. These additional lines force a match window size which strictly is not necessary. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* test/fs: remove use of undefined WRITE_FILE variableStefan Brüns2016-09-23-6/+4
| | | | | | | The write file is created from $SMALL_FILE by appending ".w" on all other occurences in the code. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* test/fs: Restructure file path specification to allow some flexibilityStefan Brüns2016-09-23-36/+22
| | | | | | | | Instead of providing the full path, specify directory and filename separately. This allows to specify intermediate directories, required for some additional tests. Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
* test/py/tests/test_vboot.py: Add check that we boot the imageTom Rini2016-09-22-6/+10
| | | | | | | | | | | | Make sure that when we're telling bootm to boot an image, and we expect the image to boot we get the output from sandbox that we attempted to run Linux and that U-Boot completed its job. Cc: Simon Glass <sjg@chromium.org> Cc: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com>
* fs-test.sh: Correct check_md5() test with newlinesTom Rini2016-08-22-1/+1
| | | | | | | | | | The fs-test.sh script expected there to be a \n\r style newline at the end of the output. This is no longer the case, so use 'tr' to remove the \r that we get. Fixes: (c5917b4b054d "dm: serial-uclass: Move a carriage return before a line feed") Signed-off-by: Tom Rini <trini@konsulko.com>
* test/py: match prompt only at line boundariesStephen Warren2016-08-20-3/+3
| | | | | | | | | | | This prevents capture of command output from terminating early on boards that use a simple prompt (e.g. "=> ") that appears in the middle of command output (e.g. crc32's "... ==> 2fa737e0"). Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Tested-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heiko Schocher <hs@denx.de>
* tests: Introduce DT overlay testsMaxime Ripard2016-08-20-0/+418
| | | | | | | | | | | | This adds a bunch of unit tests for the "fdt apply" command. They've all been run successfully in the sandbox. However, as you still require an out-of-tree dtc with overlay support, this is disabled by default. Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
* test: Adjust run_command_list() to return a list of stringsSimon Glass2016-08-05-4/+5
| | | | | | | | Return one string for each command that was executed. This seems cleaner. Suggested-by: Teddy Reed <teddy.reed@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Warren <swarren@nvidia.com>
* test: Add a function to restart U-BootSimon Glass2016-08-05-2/+8
| | | | | | | | | | | Add a proper function for this rather than using internal functions. Use it in the single call site. Also, do a restart at the end of the vboot test to reset to the normal device tree. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Stephen Warren <swarren@nvidia.com>
* test: vboot: Put each test variant in its own sectionSimon Glass2016-08-05-5/+5
| | | | | | | | | Use 'cons.log.section' feature to split up the test output. This makes it easier to read. Suggested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* test: Rename sha to sha_algo and pass it aroundSimon Glass2016-08-05-25/+28
| | | | | | | | | | Rename this argument and pass it to each function that needs it, instead of making it global. Suggested-by: Stephen Warren <swarren@nvidia.com> Suggested-by: Teddy Reed <teddy.reed@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* test: Drop the cmd() functionSimon Glass2016-08-05-24/+17
| | | | | | | | | Instead of this, use the existing run_and_log() function, enhanced to support a command string as well as a list of arguments. Suggested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* test: Fix typos in commentsSimon Glass2016-08-05-10/+10
| | | | | | | | Fix some typos in various files introduced with the vboot test conversion. Reported-by: Teddy Reed <teddy.reed@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* test: Check exit status in run_and_log_expect_exception()Simon Glass2016-08-05-1/+5
| | | | | | | | This check was missed. Add it and make the message more verbose. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Tom Rini <trini@konsulko.com> Fixes: 9e17b034 (test/py: Provide a way to check that a command fails)
* test: Fix typos and tidy upSimon Glass2016-08-05-6/+8
| | | | | | | | | | Fix review comments that were missed at the time. Also explain why we need to regenerate the device tree for each test. Reported-by: Teddy Reed <teddy.reed@gmail.com> Suggested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: f6349c3c (test: Add a README)
* Add a power domain framework/uclassStephen Warren2016-07-27-0/+47
| | | | | | | | | Many SoCs allow power to be applied to or removed from portions of the SoC (power domains). This may be used to save power. This API provides the means to control such power management hardware. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* dm: Use dm_scan_fdt_dev() directly where possibleSimon Glass2016-07-27-4/+4
| | | | | | | Quite a few places have a bind() method which just calls dm_scan_fdt_dev(). We may as well call dm_scan_fdt_dev() directly. Update the code to do this. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev()Simon Glass2016-07-27-2/+1
| | | | | | | This new function is more convenient for callers, and handles pre-relocation situations automatically. Signed-off-by: Simon Glass <sjg@chromium.org>
* test/py: vboot can be run only at SandboxMichal Simek2016-07-22-0/+1
| | | | | | | | | | | | | | | Getting this error: Zynq> sb load hostfs - 100 /home/monstr/data/disk/u-boot/build-zynq_zc706/test.fit Unknown command 'sb' - try 'help' because sb command is present only for Sandbox obj-$(CONFIG_SANDBOX) += host.o that's why mark this test to be run only at Sandbox Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Simon Glass <sjg@chromium.org>
* test/py: use absolute dts path in vboot testStephen Warren2016-07-22-1/+1
| | | | | | | | | Without this, the test fails if the test is run with a cwd other than the root of the U-Boot source tree. Fixes: 8729d582595d ("test: Convert the vboot test to test/py") Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* test: Adjust the of-platdata test run conditionSimon Glass2016-07-16-1/+1
| | | | | | | This should be spl_of_platdata, since otherwise it will try to run on boards that don't support of-platdata. Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge git://git.denx.de/u-boot-dmTom Rini2016-07-15-3/+72
|\
| * dm: Add a test for of-platdataSimon Glass2016-07-14-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a simple test which checks that the of-platdata system is working correctly. The sequence is as follows: - SPL starts up and probes all the UCLASS_MISC drivers - There are 3 of these in sandbox.dts - Therefore there should be 3 U_BOOT_DEVICE() declarations in dt-platdata.c - These should produce 3 sandbox_spl_test devices - Each device prints out its platform data when probed - This test checks for this output and compares it against expectations Signed-off-by: Simon Glass <sjg@chromium.org>
| * test/py: Start sandbox SPL when enabledSimon Glass2016-07-14-1/+5
| | | | | | | | | | | | | | When sandbox SPL is enabled we want to start that rather than U-Boot proper, since some tests may rely on running it first. Signed-off-by: Simon Glass <sjg@chromium.org>
| * test/py: Provide a way to get early console outputSimon Glass2016-07-14-0/+23
| | | | | | | | | | | | | | Some tests want to check the console output from SPL or U-Boot proper. Provide a means to do this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * test/py: Note which console produced unexpected outputSimon Glass2016-07-14-1/+1
| | | | | | | | | | | | | | | | At present the SPL and U-Boot consoles both present the same error message when the expected console output does not appear. Add "SPL" to the SPL error message to resolve this ambiguity. Signed-off-by: Simon Glass <sjg@chromium.org>
| * test/py: Handle testing with the sandbox_spl boardSimon Glass2016-07-14-1/+1
| | | | | | | | | | | | | | | | | | | | This board can sometimes be used for tests. Handle it the same way as sandbox. Note: I plan to drop the sandbox_spl board at some point and merge its features into sandbox. So this commit may not be necessary. Signed-off-by: Simon Glass <sjg@chromium.org>
* | test: Convert the vboot test to test/pySimon Glass2016-07-14-155/+185
| | | | | | | | | | | | | | | | Now that we have a suitable test framework we should move all tests into it. The vboot test is a suitable candidate. Rewrite it in Python and move the data files into an appropriate directory. Signed-off-by: Simon Glass <sjg@chromium.org>
* | test/py: Add a helper to run a list of U-Boot commandsSimon Glass2016-07-14-0/+16
| | | | | | | | | | | | | | Some tests want to execute a sequence of commands. Add a helper for this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Teddy Reed <teddy.reed@gmail.com>
* | test/py: Provide a way to check that a command failsSimon Glass2016-07-14-0/+22
| | | | | | | | | | | | | | | | Sometimes we want to run a command and check that it fails. Add a function to handle this. It can check the return code and also make sure that the output contains a given error message. Signed-off-by: Simon Glass <sjg@chromium.org>
* | test/py: Add an option to execute a string containing a commandSimon Glass2016-07-14-0/+12
| | | | | | | | | | | | | | | | It is sometimes inconvenient to convert a string into a list for execution with run_and_log(). Provide a helper function to do this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Teddy Reed <teddy.reed@gmail.com>
* | test/py: Return output from run_and_log()Simon Glass2016-07-14-2/+3
| | | | | | | | | | | | | | | | It is useful to be able to obtain the output from a command. Return it from this function. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Teddy Reed <teddy.reed@gmail.com>
* | test/py: Provide output from exceptions with RunAndLog()Simon Glass2016-07-14-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | Tests may want to look at the output from running a command, even if it fails (e.g. with a non-zero return code). Provide a means to obtain this. Another approach would be to return a class object containing both the output and the exception, but I'm not sure if that would result in a lot of refactoring. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Teddy Reed <teddy.reed@gmail.com>
* | test/py: Allow RunAndLog() to return the outputSimon Glass2016-07-14-1/+2
| | | | | | | | | | | | | | | | Tests may want to look at the output from running a command. Return it so that this is possible. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Teddy Reed <teddy.reed@gmail.com>
* | test/py: Allow tests to control the sandbox device-tree fileSimon Glass2016-07-14-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Normally tests will run with the test.dtb file designed for this purpose. However, the verified boot tests need to run with their own device-tree file, containing a public key. Make the device-tree file a config option so that it can be adjusted by tests. The default is to keep the current behaviour. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Teddy Reed <teddy.reed@gmail.com>