summaryrefslogtreecommitdiff
path: root/test/py
AgeCommit message (Collapse)Author
2020-08-22test/py: Update test_bindPatrice Chotard
As bind-test is now binded at sandbox startup and no more by test_bind.py, bind-test nodes are not located at the end of "dm tree" output, but can be located everywhere in the tree, so bind-test output could either be: simple_bus 0 [ ] generic_simple_bus |-- bind-test phy 0 [ ] phy_sandbox | |-- bind-test-child1 simple_bus 1 [ ] generic_simple_bus | `-- bind-test-child2 or: simple_bus 5 [ ] generic_simple_bus `-- bind-test phy 2 [ ] phy_sandbox |-- bind-test-child1 simple_bus 6 [ ] generic_simple_bus `-- bind-test-child2 in_tree() function need to be updated to take care of that change. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-22sandbox: dts: Add compatible string for bind-test nodePatrice Chotard
Usage of lists_bind_fdt() in bind command imposes to add a compatible string for bind-test node. Others impacts are: - bind-test node is binded at sandbox start, so no need to bind it in test_bind_unbind_with_node() test. - As explained just above, after sandbox start, now a phy exist. In test/dm/phy.c, it was verified that a third phy didn't exist, now we must verified that a fourth phy doesn't exist. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-08-14test/py: efi_secboot: modify 'multiple signatures' test caseAKASHI Takahiro
The test case 5 in test_signed (multiple signatures) must be modified and aligned with the change introduced in the previous commit ("efi_loader: signature: correct a behavior against multiple signatures"). Signed-off-by: AKASHI Takahiro <[email protected]>
2020-08-13test/py: efi_secboot: add test for intermediate certificatesAKASHI Takahiro
In this test case, an image may have a signature with additional intermediate certificates. A chain of trust will be followed and all the certificates in the middle of chain must be verified before loading. Signed-off-by: AKASHI Takahiro <[email protected]>
2020-08-13test/py: efi_secboot: small rework for adding a new testAKASHI Takahiro
It won't be very useful to customize HELLO_PATH and EFI_SECBOOT_IMAGE_NAME under the current code base. So just remove them. Signed-off-by: AKASHI Takahiro <[email protected]>
2020-08-10test/py: fix SquashFS testsJoao Marcos Costa
Use "cons.config.build_dir" instead of writing to the source directory (read-only). This will fix the test failures in Azure. Signed-off-by: Joao Marcos Costa <[email protected]>
2020-08-08test/py: serial# cannot be overwritten on some devicesHeinrich Schuchardt
On some devices the environment variable serial# cannot be overwritten. Set the variable only if it is not set. For our unit test it is sufficient to test if any value for serial-number is set. Fixes: 8a5cdf601f8d ("test: efi_selftest: Do not force serial# setting") Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-08-07test: py: test_shell_run() with CONFIG_HUSH_PARSER=nHeinrich Schuchardt
The hush parser not enabled for some boards, e.g. sipeed_maix_bitm_defconfig. With CONFIG_HUSH_PARSER=n a double quotation mark is not interpreted as the beginning of a string. Use a single quotation mark instead. Furthermore without the hush parser variables have to be referenced as ${varname}. Add the missing braces. Reported-by: Sean Anderson <[email protected]> Fixes: 8b86c609b860 ("test/py: add test of basic shell functionality") Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-08-07tests: support mkfs.ext4 without metadata_csumStephen Warren
Modify various test/py filesystem creation routines to support systems that don't implement the metadata_csum ext4 feature. Signed-off-by: Stephen Warren <[email protected]>
2020-08-07test/py: Add tests for the SquashFS commandsJoao Marcos Costa
Add Python scripts to test 'ls' and 'load' commands. The scripts generate a SquashFS image and clean the directory after the assertions, or if an exception is raised. Signed-off-by: Joao Marcos Costa <[email protected]>
2020-08-04test/py: Add test support for three stage bootYan Liu
Current pytest only support upto 2 stage boot; Some boards like TI K3 am6/J7 boards use 3 stage boot. This patch adds u_boot_spl2 to be able to handle the 3-stage boot case. User needs to set "env__spl2_skipped" in u_boot_boardenv config file to use this support. By default it is set to TRUE. Signed-off-by: Yan Liu <[email protected]> Signed-off-by: Yan Liu <[email protected]>
2020-07-31test: sandbox: add test for erase commandPatrick Delaunay
Add test for the erase command tested on ENV in EXT4. Signed-off-by: Patrick Delaunay <[email protected]>
2020-07-31test: environment in ext4Patrick Delaunay
Add basic test to persistent environment in ext4: save and load in host ext4 file 'uboot.env'. On first execution an empty EXT4 file system is created in persistent data dir: env.ext4.img. Signed-off-by: Patrick Delaunay <[email protected]>
2020-07-31test: efi_selftest: Do not force serial# settingTom Rini
As part of the EFI self test we set and check the serial# variable. However, we should not be forcing this setting. In the case where we are allowed to change the variable it will change, and we will pass the test. In the case where we cannot change it, force may or may not be allowed, depending on further environment restrictions. Drop the -f flag here as we do not need it. Cc: Heinrich Schuchardt <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2020-07-31test: do not rely on => being the promptHeinrich Schuchardt
In our tests we should use the customized prompt for testing. Reported-by: Tom Rini <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Tested-by: Tom Rini <[email protected]>
2020-07-28test/py: add tests for the button commandsPhilippe Reynes
Adds tests for the button commands. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Philippe Reynes <[email protected]>
2020-07-26test: env: add test for env info sub-commandPatrick Delaunay
Add a pytest for testing the env info sub-command: test_env_info: test command with several option that can be executed on real hardware device without assumption test_env_info_sandbox: test the result on sandbox with a known ENV configuration: ready & default & persistent The quiet option '-q' is used for support in shell test; for example: if env info -p -d -q; then env save; fi Signed-off-by: Patrick Delaunay <[email protected]> Acked-by: Stephen Warren <[email protected]>
2020-07-22test/py: efi_secboot: fix additional pylint errorsAKASHI Takahiro
This is a fixup by autopep8 after the commit ("test/py: efi_secboot: apply autopep8"). Signed-off-by: AKASHI Takahiro <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-22test/py: efi_secboot: remove unused functionAKASHI Takahiro
'tool_is_in_path' function is no longer used anywhere after Heinrich has removed 'sudo' version of fixture setup. Signed-off-by: AKASHI Takahiro <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-22efi_loader: use logging for bootefi commandHeinrich Schuchardt
Log messages of the bootefi command instead of simply printing them to the console. Do not show "## Application terminated" message when the UEFI binary completed successfully. Adjust the python tests testing for '## Application terminated'. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-16efi_loader: skip warnings for network configurationHeinrich Schuchardt
Skip messages should only be written if the setup is not suitable for testing. If DHCP is enabled, we should not write a skip message if no static network configuration is supplied. Likewise if a static network configuration is supplied, we should not write a skip message if DHCP is not enabled. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-11test: use virt-make-fs to build imageHeinrich Schuchardt
Avoid sudo for test/py/tests/test_efi_secboot by using virt-make-fs. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-11test/py: efi_secboot: add a test for verifying with digest of signed imageAKASHI Takahiro
Signature database (db or dbx) may have not only certificates that contain a public key for RSA decryption, but also digests of signed images. In this test case, if database has an image's digest (EFI_CERT_SHA256_GUID) and if the value matches to a hash value calculated from image's binary, authentication should pass in case of db, and fail in case of dbx. Signed-off-by: AKASHI Takahiro <[email protected]> Use defined time stamps for sign-efi-sig-list. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-11test/py: efi_secboot: add a test for multiple signaturesAKASHI Takahiro
In this test case, an image is signed multiple times with different keys. If any of signatures contained is not verified, the whole authentication check should fail. Signed-off-by: AKASHI Takahiro <[email protected]> Provide a defined time stamp for dbx_hash1.auth. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-11test/py: efi_secboot: add a test against certificate revocationAKASHI Takahiro
Revocation database (dbx) may have not only certificates, but also message digests of certificates with revocation time (EFI_CERT_X509_SHA256_GUILD). In this test case, if the database has such a digest and if the value matches to a certificate that created a given image's signature, authentication should fail. Signed-off-by: AKASHI Takahiro <[email protected]> Set defined time stamp for dbx_hash.auth. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-11test/py: efi_secboot: split "signed image" test case-1 into two casesAKASHI Takahiro
Split the existing test case-1 into case1 and a new case-2: case-1 for non-SecureBoot mode; case-2 for SecureBoot mode. In addition, one corner case is added to case-2; a image is signed but a corresponding certificate is not yet installed in "db." Signed-off-by: AKASHI Takahiro <[email protected]>
2020-07-11test/py: efi_secboot: more fixes against pylintAKASHI Takahiro
More fixes against pylint warnings that autopep8 didn't handle in the previous commit. Signed-off-by: AKASHI Takahiro <[email protected]>
2020-07-11test/py: efi_secboot: apply autopep8AKASHI Takahiro
Python's autopep8 can automatically correct some of warnings from pylint and rewrite the code in a pretty print format. So just do it. Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: AKASHI Takahiro <[email protected]>
2020-07-09drivers: rename drivers to match compatible stringWalter Lozano
When using OF_PLATDATA, the bind process between devices and drivers is performed trying to match compatible string with driver names. However driver names are not strictly defined, and also there are different names used when declaring a driver with U_BOOT_DRIVER, the name of the symbol used in the linker list and the used in the struct driver_info. In order to make things a bit more clear, rename the drivers names. This will also help for further OF_PLATDATA improvements, such as checking for valid driver names. Signed-off-by: Walter Lozano <[email protected]> Reviewed-by: Simon Glass <[email protected]> Add a fix for sandbox of-platdata to avoid using an invalid ANSI colour: Signed-off-by: Simon Glass <[email protected]>
2020-07-09log: don't show function by defaultHeinrich Schuchardt
The name of the function emitting a log message may be of interest for a developer but is distracting for normal users. See the example below: try_load_entry() Booting: Debian Make the default format for log messages customizable. By default show only the message text. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-07test_sleep.py: make sleep time and margin configurableHeiko Schocher
make the sleep time and the margin configurable. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Stephen Warren <[email protected]>
2020-07-07cmd: blkls: Add blkls commandNiel Fourie
Add a command to print a list of available block device drivers, and for each, the list of known block devices. Signed-off-by: Niel Fourie <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2020-07-07cmd: dm: Fixed/Added DM driver listing subcommandsNiel Fourie
Renamed dm "drivers" subcommand to "compat" (as it listed compatibility strings) and prevent it from segfaulting when drivers have no of_match populated. Added a new "drivers" subcommand to dump a list of all known DM drivers and for each, their uclass id, uclass driver and names of attached devices. Added a new "static" subcommand to dump a list of DM drivers with statically defined platform data. Signed-off-by: Niel Fourie <[email protected]> Cc: Simon Glass <[email protected]> Cc: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-07cmd: fs: Add command to list supported fs typesNiel Fourie
Added command "fstypes" to list supported/included filesystems. Signed-off-by: Niel Fourie <[email protected]> Cc: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]> [trini: Limit to sandbox] Signed-off-by: Tom Rini <[email protected]>
2020-07-07cmd: part: Add subcommand to list supported partition tablesNiel Fourie
Add a subcommand "types" to the part command, which lists the supported partition table types. Signed-off-by: Niel Fourie <[email protected]> Cc: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-03test: correct time stamps for UEFI authenticationHeinrich Schuchardt
A time authenticated variable cannot be overwritten with another value with the same time stamp. So we must ensure the correct sequence of time stamps when generating out test data. Using parameter -t for sign-efi-sig-list gives reproducible results and avoids sleep statements. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-07-03test/py: efi_secboot: fix test case 1g of test_authvarAKASHI Takahiro
In the test case (1g) of test_authvar, "db" is mistakenly used, and it ends up being the exact same as (1f). So correct it as "dbx" test case. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2020-07-03test/py: efi_secboot: remove all "re.search"AKASHI Takahiro
Currently, we don't use any regular expression in matching outputs from U-Boot. Since its use is just redundant, we can remove all. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2020-07-03Revert "test: stabilize test_efi_secboot"AKASHI Takahiro
This reverts commit 5827c2545849441dd60467565aac11964259972f. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2020-06-30test/py: test_efi_fit: Update #size-cells to 1Bin Meng
test_efi_fit tests fail on RISC-V currently. This is due to the RISC-V arch_fixup_fdt() checks the #size-cells of the root node in order to correctly fix up the reserved memory node. Per the DT binding, the /reserved-memory node requires both <#address-cells> and <#size-cells> and they should use the same values as the root node. For the root node, it's not very useful if <#size-cells> is zero. Update #size-cells to 1 so tests can pass. Signed-off-by: Bin Meng <[email protected]>
2020-06-02test/py: use actual core count for parallel buildsHeinrich Schuchardt
When building U-Boot we should not blindly use make -j8 but consider the actual core count given by os.cpu_count(). Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Stephen Warren <[email protected]>
2020-05-08test: describe naming conventions for macro UNIT_TESTHeinrich Schuchardt
Strict naming conventions have to be followed for Python function generate_ut_subtest() to collect C unit tests to be executed via command 'ut'. Describe the requirements both on the C as well on the Python side. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-05-04test: stabilize test_efi_secbootHeinrich Schuchardt
When setting up the console via function efi_console_register() we call query_console_serial(). This functions sends an escape sequence to the terminal to query the display size. The response is another escape sequence. console.run_command_list() is looking for a regular expression '^==>'. If the escape sequence for the screen size precedes the prompt without a line break, no match is found. When efi_disk_register() is called before efi_console_register() this leads to a test failuere of the UEFI secure boot tests. We can avoid the problem if the first UEFI command passed to u_boot_console.run_command_list() produces output. This patch achieves this by appending '; echo' to the first UEFI related command of the problematic tests. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-05-01test/py: vboot: add a test to check fit signature on fit with paddingPhilippe Reynes
The pytest vboot does all his tests on fit without padding. We add the same tests on fit with padding. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Philippe Reynes <[email protected]>
2020-04-30test/py: fix test_efi_secboot/conftest.pyHeinrich Schuchardt
If udisksctl is present test/py/tests/test_efi_secboot/conftest.py fails because the disk image is never mounted. Normal users can only mount fuse file systems. Unfortunately fusefat is still in an experimental state and seems not to work here correctly. So as we have to be root or use the sudo command anyway delete all coding referring to udisksctl. -- We should not use mount point /mnt as this directory or one of its sub-directories might already be in use as active mount points. Instead create a new directory in the build root as mount point. -- Remove debug print statements that have been commented out. print without parentheses is anyway invalid in Python 3. And pytest anyway filters out the output if there is no exception reported. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-04-27test: test_fs error messageHeinrich Schuchardt
For non-root users mkfs.vfat is not in the search path at least on Debian. Hence when running 'make tests' a message indicates that file system tests have been skipped: SKIPPED [13] test/py/tests/test_fs/conftest.py:340: Setup failed for filesystem: fat16 This message is not really helpful as the executed program is not indicated. Provide a more complete message like SKIPPED [13] test/py/tests/test_fs/conftest.py:340: Setup failed for filesystem: fat16. Command 'mkfs.vfat -F 16 build-sandbox/persistent-data/3GB.fat16.img' returned non-zero exit status 127. Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-04-16test: pinmux: add pincontrol-gpio for pin configurationPatrick Delaunay
Add a simple pincontrol associated to the sandbox gpio driver, that allows to check pin configuration with the command pinmux. The pinmux test is also updated to test behavior with 2 pincontrols. Example to check LED pin configuration: => pinmux list | Device | Driver | Parent | pinctrl-gpio | sandbox_pinctrl_gpio | root_driver | pinctrl | sandbox_pinctrl | root_driver => pinmux dev pinctrl-gpio => pinmux status a0 : gpio input . a1 : gpio input . a2 : gpio input . a3 : gpio input . a4 : gpio input . a5 : gpio output . a6 : gpio output . ... Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]>
2020-04-16test: dm: update test for pins configuration in pinctrl nodePatrick Delaunay
Add test for "pins" configuration in gpio uclass with set_state() ops and test for generic parsing of pinconf_param array). set_state() is called by: - pinctrl_generic_set_state |- pinctrl_generic_set_state_subnode Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-04-16efi_loader, pytest: add UEFI secure boot tests (image)AKASHI Takahiro
Provide test cases for * image authentication for signed images (test_efi_secboot/test_signed.py) * image authentication for unsigned images (test_efi_secboot/test_unsigned.py) Signed-off-by: AKASHI Takahiro <[email protected]>
2020-04-16efi_loader, pytest: add UEFI secure boot tests (authenticated variables)AKASHI Takahiro
Provide a couple of test cases for variable authentication. Signed-off-by: AKASHI Takahiro <[email protected]>