summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2020-01-02test_env: don't strip() printenv resultsStephen Warren
get_env() was originally written to strip() the output of printenv to isolate the test from any whitespace changes in printenv's output. However, this throws away any whitespace in the variable value, which can cause issues when test code expects to see that whitespace. In fact, printenv never adds any whitespace at all, so there's no need to strip. The strip causes a practical problem for test_env_echo_exists() if state_test_env.get_existent_var() happens to choose a U-Boot variable that contains trailing whitespace. This is true for variable boot_targets. With Python 2, get_existent_var() never returned boot_targets so this issue never caused a practical problem. With Python 3, get_existent_var does sometimes return boot_targets, no doubt due to Python 3's different dict hash key order implementation, about 0.5-2% of the time, so this test appears intermittent. With the strip removed, this intermittency is solved, since the test passes for all possible U-Boot variables. Signed-off-by: Stephen Warren <[email protected]>
2019-12-18Merge branch 'next' of https://gitlab.denx.de/u-boot/custodians/u-boot-x86 ↵Tom Rini
into next - Various x86 common codes updated for TPL/SPL - I2C designware driver updated for PCI - ICH SPI driver updated to support Apollo Lake - Add Intel FSP2 base support - Intel Apollo Lake platform specific drivers support - Add a new board Google Chromebook Coral
2019-12-17dm: i2c: EEPROM simulator add tests for addr offset maskRobert Beckett
Add support for setting the chip address offset mask to EEPROM sumulator and add tests to test it. Signed-off-by: Robert Beckett <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2019-12-17dm: i2c: EEPROM simulator allow tests visibility of addr and offsetRobert Beckett
Improve i2c EEPROM simulator testing by providing access functions to check the previous chip addr and offset. Given that we can now directly test the offsets, also simplified the offset mapping and allow for wrapping acceses. Signed-off-by: Robert Beckett <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2019-12-15sandbox: Add a test for IRQSimon Glass
Add a simple sandbox test for this uclass. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-12-15sandbox: Add PCI driver and test for p2sbSimon Glass
Add a sandbox driver and PCI-device emulator for p2sb. Also add a test which uses a simple 'adder' driver to test the p2sb functionality. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-12-15x86: sandbox: Add a PMC emulator and testSimon Glass
Add a simple PMC for sandbox to permit tests to run. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-12-10test.py: Make search for autoconf.mk more permissiveSimon Glass
Buildman doesn't store this file in the same directory as a normal build. Update the conftest code to handle both cases. Change-Id: I1fd0e56054d7dc77394a7589336aa0991bd0133d Signed-off-by: Simon Glass <[email protected]>
2019-12-06test: add asn1 unit testAKASHI Takahiro
This test will exercise asn1 compiler as well as asn1 decoder functions via various parsers. Signed-off-by: AKASHI Takahiro <[email protected]>
2019-12-05test/py: test_fs: add tests for creating/deleting many filesAKASHI Takahiro
# This is actually a resent patch of # [1] https://lists.denx.de/pipermail/u-boot/2019-May/369170.html Two test cases are added under test_fs_ext: test case 10: for root directory test case 11: for non-root directory Those will verify a behavior fixed by the commits related to root directory ("fs: fat: allocate a new cluster for root directory of fat32" and "fs: fat: flush a directory cluster properly"), and focus on handling long-file-name directory entries under a directory. Signed-off-by: AKASHI Takahiro <[email protected]>
2019-12-02common: Move command functions out of common.hSimon Glass
Move these functions into the command.h header file which is a better fit. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-12-02common: Move get_ticks() function out of common.hSimon Glass
This function belongs in time.h so move it over and add a comment. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-12-02common: Add a new lz4.h header fileSimon Glass
Add a header file to house the lz4 compression function. Add a comment while we are here, since it not even clear from the name what the function actuall does. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-11-25dm: test: usb: rework keyboard testHeinrich Schuchardt
Allow the unit test to pass full 8 byte scan code sequences to the USB keyboard emulation driver and to parse multi-byte escape sequences. The following features are not yet tested: * LED status * caps-lock * num-lock * numerical pad keys The following features are not yet implemented by the USB keyboard driver and therefore not tested: * modifiers for non-alpha-numeric keys, e.g. <SHIFT><TAB> and <ALT><F4> * some special keys, e.g. <PRINT> * some modifiers, e.g. <ALT> and <META> * alternative keyboard layouts Signed-off-by: Heinrich Schuchardt <[email protected]>
2019-11-14tests: add OP-TEE test suiteHeiko Stuebner
OP-TEE can get supplied with a devicetree and will then insert its firmware node and reserved-memory sections into it. As this devicetree often is not the one supplied to a later loaded kernel, a previous commit added functionality to transfer these nodes onto that new devicetree. To make sure this functionality stays intact, also add a test for the transfer functionality. Signed-off-by: Heiko Stuebner <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-11-10dm: regulator: support regulator more stateJoseph Chen
support parse regulator standard property: regulator-off-in-suspend; regulator-init-microvolt; regulator-suspend-microvolt: regulator_get_suspend_enable regulator_set_suspend_enable regulator_get_suspend_value regulator_set_suspend_value Signed-off-by: Joseph Chen <[email protected]> Signed-off-by: Elaine Zhang <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2019-11-03spi: Add support for memory-mapped flashSimon Glass
On x86 platforms the SPI flash can be mapped into memory so that the contents can be read with normal memory accesses. Add a new SPI method to find the location of the SPI flash in memory. This differs from the existing device-tree "memory-map" mechanism in that the location can be discovered at run-time. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-11-01Merge tag 'dm-pull-29oct19' of git://git.denx.de/u-boot-dmTom Rini
- Fix for patman with email addresses containing commas - Bootstage improvements for TPL, SPL - Various sandbox and dm improvements and fixes
2019-10-31test: provide test for errno_str()Heinrich Schuchardt
Provide a unit test for errno_str(). Test that known and unknown error numbers are handled correctly. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-10-30test/py: Use raw strings more to avoid deprecation warningsTom Rini
We have two further uses of raw string usage in the test/py codebase that are used under CI. The first of which is under the bind test and is a direct update. The second of which is to strip VT100 codes from the match buffer. While switching this to a raw string is also a direct update, the comment it notes that problems were encountered on Ubuntu 14.04 (and whatever Python 2 version that was) that required slight tweaks to the regex. Replace that now that we're saying Python 3.5 is the minimum. Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Update docs, add requirements.txt for pipTom Rini
To be more closely aligned with Python community best practices, we need to better document our usage of pip and make use of a requirements.txt file that shows the versions of the tools that we are using. This will aide in ensuring reproducibility of our tests as well. Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Rework test.py to be a different kind of wrapperTom Rini
Now that we have moved to being based on pytest for python3 we need to make our test.py wrapper more robust in terms of only calling python3 rather than possibly finding and using python2. To do this, change from execvp()'ing pytest to invoking the package itself via python. In the event that pytest is unavailable we still get a user-friendly error: pkg_resources.DistributionNotFound: The 'pytest' distribution was not found and is required by the application Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Update test_fs to decode check_output callsTom Rini
The check_output function from the subprocess Python module by default returns data as encoded bytes and leaves decoding to the application. Given our uses of the call, it makes the most sense to immediately decode the results. Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: test_efi_selftest.py: Updates for python 3 supportTom Rini
- In python 3 you must use raw strings for regex as other forms are deprecated and would require further changes to the pattern here. In one case this lets us have a simpler match pattern. - As strings are now Unicode our complex tests (Euro symbol, SHIFT+ALT+FN 5) we need to declare that as a bytes string and then decode it for use. Cc: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: test_ut.py: Ensure we use bytesTom Rini
In the case of some unit tests we are working with providing a fake flash device that we have written some text strings in to. In this case we want to tell Python to encode things to bytes for us. Reviewed-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Manual python3 fixesTom Rini
- Modern pytest is more visible in telling us about parameters that we had not described, so describe a few more. - ConfigParser.readfp(...) is now configparser.read_file(...) - As part of the "strings vs bytes" conversions in Python 3, we use the default encoding/decoding of utf-8 but in some places tell Python to replace problematic conversions rather than throw a fatal error. - Fix a typo noticed while doing the above ("tot he" -> "to the"). - As suggested by Stephen, re-alphabetize the import list - Per Heinrich, replace how we write contents in test_fit.py Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Automated conversion to Python 3Tom Rini
Use the 2to3 tool to perform numerous automatic conversions from Python 2 syntax to Python 3. Also fix whitespace problems that Python 3 catches that Python 2 did not. Reviewed-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Fix pytest4 deprecation warningsMarek Vasut
Fix the following spit from pytest: u-boot/test/py/conftest.py:438: RemovedInPytest4Warning: MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly. Please use node.get_closest_marker(name) or node.iter_markers(name). Docs: https://docs.pytest.org/en/latest/mark.html#updating-code for board in mark.args: In both cases, the later suggestion is applicable. Reviewed-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Cc: Igor Opaniuk <[email protected]> [trini: Update for current file with a few more cases, un-pin pytest in CI] Tested-by: Simon Glass <[email protected]> [on sandbox] Tested-by: Stephen Warren <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2019-10-30test/py: Split mark to multiple linesTom Rini
We inconsistently note multiple dependencies today in our tests, sometimes with a single line that declares multiple and sometimes multiple single lines. Current pytest seems to fail on the single line format so change to multiple declarations. Reviewed-by: Stephen Warren <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Stephen Warren <[email protected]> Tested-by: Simon Glass <[email protected]> [on sandbox] Signed-off-by: Tom Rini <[email protected]>
2019-10-27test: regmap: check the values read from the regmapJean-Jacques Hiblot
The test did reads after writes but didn't check the value. It probably was because the sandbox didn't implement the writeX/readX functions. Signed-off-by: Jean-Jacques Hiblot <[email protected]> Updated to use sandbox_set_enable_memio(): Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2019-10-22test: clk: test clock self assignmentJean-Jacques Hiblot
Make sure that the clock self-assignment works by having a clock of clk-sbox be configured automatically when clk-sbox is probed. Signed-off-by: Jean-Jacques Hiblot <[email protected]>
2019-10-22test: clk: Update tests to also check the managed APIJean-Jacques Hiblot
Add a few more clocks the clk_sandbox clock provider and get them using the managed API. Make sure they are released when the device is removed. Signed-off-by: Jean-Jacques Hiblot <[email protected]>
2019-10-15dm: Tidy up dump output when there are many devicesPatrick Delaunay
At present the 'Index' column of 'dm tree' assumes there is two digits, this patch increase it to 3 digits. It also aligns output of 'dm uclass', assuming the same 3 digits index. The boards with CONFIG_PINCTRL_FULL activated have one pinconfig by pin configuration, so they can have more than 100 devices pinconfig (for example with stm32mp157c-ev1 board we have 106 pinconfig node). Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2019-10-15pytest: vboot: add a test for required keyPhilippe Reynes
This commit add a test in the vboot test to check that when a required key is asked, only FIT signed with this key is used/accepted by u-boot. Signed-off-by: Philippe Reynes <[email protected]>
2019-10-13dm: Add a dsi host uclassYannick Fertré
Display Serial Interface (DSI) host can usefully be modelled as their own uclass. DSI defines a serial bus and a communication protocol between the host and the device (panel, bridge). Signed-off-by: Yannick Fertré <[email protected]>
2019-10-11remoteproc: elf_loader: Introduce rproc_elf_get_boot_addr() apiLokesh Vutla
Introduce rproc_elf_get_boot_addr() that returns the entry point of the elf file. This api auto detects the 64/32 bit elf file and returns the boot addr accordingly. Signed-off-by: Lokesh Vutla <[email protected]>
2019-10-11remoteproc: elf_loader: Always check the validity of the image before loadingLokesh Vutla
rproc_elf32_load_image() rely on user to send a valid address for elf loading. Instead do a sanity check on the address passed by user. This will help all rproc elf users to not call sanity_check explicitly before calling elf_loading. Signed-off-by: Lokesh Vutla <[email protected]> Reviewed-by: Fabien Dessenne <[email protected]>
2019-10-11dm: core: Add a function to count the children of a deviceLokesh Vutla
Add a function to count the available children of a device. Signed-off-by: Lokesh Vutla <[email protected]>
2019-10-08dm: pci: Add a function to read a PCI BARSimon Glass
At present PCI address transaction is not supported so drivers must manually read the correct BAR after reading the device tree info. The ns16550 has a suitable implementation, so move this code into the core DM support. Note that there is no live-tree equivalent at present. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> [bmeng: correct the unclear comments in test.dts] Signed-off-by: Bin Meng <[email protected]>
2019-10-08sandbox: Rename PCI ID for swap_case to be more specificSimon Glass
Rename this ID to SANDBOX_PCI_SWAP_CASE_EMUL_ID since it is more descriptive and allows us to add new PCI emulators without any conflict or confusion. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-10-08dm: test: Correct a stray backslash in dm_test_destroy()Simon Glass
This should perhaps be a period. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> [bmeng: add the ending period and reword the commit message] Signed-off-by: Bin Meng <[email protected]>
2019-10-08dm: core: Correct the return value for uclass_find_first_device()Simon Glass
This function returns -ENODEV when there is no device. This is inconsistent with other functions, such as uclass_find_next_device(), which returns 0. Update it and tidy up the incorrect '-1' values in the comments. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2019-10-08dm: test: Don't fail when tests are skipped due to buildSimon Glass
At present tests that are marked as only for livetree fail when executed on sandbox_flattree. They cannot actually be executed, but we should not resport them as 'not found', since this causes errors. Instead, they should be silently skipped. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-10-08dm: test: Fix running of multiple test from command lineSimon Glass
At present when multiple 'ut dm' commands are executed, all but the first is run with a flat tree, even if live tree is enabled. This is because the live tree node pointer is set to NULL and never restored. This does not affect normal test running, which just runs all the test in one go, but can be confusing when several individual tests are run during the same U-Boot run. Correct this by restoring the pointer. Fixes: c166c47ba3 (dm: test: Add support for running tests with livetree) Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]>
2019-09-20test: add tests for u16_str<n>cmp()AKASHI Takahiro
New seven test cases for u16_str<n>cmp() are added under Unicode unit test, which should be executed by "ut unicode" command. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2019-09-03dm: cache: Add enable and disable ops for sandbox and testRick Chen
Add cache enable and disable ops for test coverage. Signed-off-by: Rick Chen <[email protected]> Cc: KC Lin <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2019-08-22sandbox: clk: add clk enable/disable test codePeng Fan
Since we added clk enable_count and prograte clk child enabling operation to clk parent, so add a new function sandbox_clk_enable_count to get enable_count for test usage. And add test code to get the enable_count after we enable/disable the device clk. Signed-off-by: Peng Fan <[email protected]>
2019-08-22test/py: Add cmd_memory dependency back to test_mmc_wrMichal Simek
Based on discussion with Stephen Warren there was recommendation to list both memory and random command dependencies just in case that dependency is not properly handled by Kconfig. Fixes: a09c1f7e1c1b ("test/py: Fix MMC/SD block write test dependency") Signed-off-by: Michal Simek <[email protected]> Acked-by: Stephen Warren <[email protected]>
2019-08-12Merge branch '2019-08-11-ti-imports'Tom Rini
- More DaVinci updates and fixes - PCIe support on am65x - Watchdog converted to DM - Assorted other bugfixes
2019-08-12dm: core: add support for getting register address and sizeSekhar Nori
Current dev_read_*() API lacks support to get address and size of a "reg" property by name or index. Add support for the same. Livetree support has been added but not tested on real hardware. The existing unit tests testing reading address from device-tree have been updated to test address as well as size. Reviewed-by: Lokesh Vutla <[email protected]> Signed-off-by: Sekhar Nori <[email protected]>