Commit Graph

385 Commits

Author SHA1 Message Date
Heinrich Schuchardt 70478c701f UPSTREAM: test/py: u_boot_console_base.py: fix typo
run_command does not have a parameter wait_for_each.

Change-Id: I5b6bb3ed1b732c3ebc307f0618282caea9190b83
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit cd3e8a72a6fb1fe758c5f73b394527609afe26cc)
2018-01-16 18:16:48 +08:00
Pantelis Antoniou 6d7abe7419 UPSTREAM: test: overlay: Add unit test for stacked overlay
Verify that stacked overlays work.

Change-Id: Id5c578db630bb34e952ca5176bb5ca9815bb0c0f
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit ea28e488f743520f7f83b341f28818c32dae1ee3)
2018-01-16 18:16:48 +08:00
Pantelis Antoniou ea99241c37 UPSTREAM: ut: fix fdt_getprop_u32() change
fdt_getprop_u32 is not exported and it's different than what the
unit test uses. Rename u32 prop access methods to something that's
unit test specific.

Change-Id: I0256118c7ae7b6709c4ef0791c53093e3117f23e
Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 706708d3b2e7ade443836e7a14802a5a63b59713)
2018-01-16 18:16:48 +08:00
Alison Chaiken 135b53be98 UPSTREAM: add pytests for 'gpt rename' and 'gpt swap'
Add unit tests for the 'gpt rename' and 'gpt swap' commands that
rely on the block device created by test/py/make_test_disk.py.
Add CONFIG_CMD_GPT_RENAME to the sandbox_defconfig.  Remove the
testdisk.raw test device at the end of the tests.

Change-Id: I1c5b963a1f84168d4979ad1591f68a5f2a259935
Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit c5772188ede914b0e67c2a58ae179039a582afe0)
2018-01-16 18:14:09 +08:00
Alison Chaiken e2c5d1e4e7 UPSTREAM: add pytests for 'gpt guid' command in sandbox
Run unit tests for the 'gpt guid' command, making use of the block
device created by test/py/make_test_disk.py.  Remove this device at
the end of the tests.

Change-Id: I315989b993388fdce6f0b263376463a3532d154b
Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit a2f422555fc80144aea418c0d8e95341acfe6868)
2018-01-16 18:14:09 +08:00
Alison Chaiken 4d11a85763 UPSTREAM: GPT: create block device for sandbox testing
Provide a Python function that creates a small block device for the
purpose of testing the cmd/gpt.c or cmd/part.c functions in the u-boot
sandbox.

Change-Id: I620c2f97c7b6533d8cb607e365e719246cdb7acd
Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit bf6d76b84ae13b463c0dca556118047e2d046f33)
2018-01-16 18:14:09 +08:00
Patrice Chotard b048a4dbd0 UPSTREAM: dm: test: replace dm_scan_dt() by of dm_extended_scan_fdt() in dm_do_test
This allows to scan the DT including all "clocks" node's sub-nodes
in which fixed-clock are defined.
All fixed-clock should be defined inside a clocks node which collect all
external oscillators. Until now, all clocks sub-nodes can't be binded except
if the "simple-bus" compatible string is added which is a hack.

Update test.dts by moving clk_fixed node inside clocks.

Change-Id: I9c346d812b0ee270f9b6fc6b6f60af7c28ebb46e
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit ee87a097b0f66158ce2985940a5f28ba15a3552d)
2018-01-16 18:13:59 +08:00
Andy Yan 5e7e40617c test: rockchip: add bootrom download mode test
Enter bootrom download mode by command: rktest brom_dnl

Change-Id: I6120a885e5514a57c81fd469ce27a2472009c4fd
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2017-11-20 11:53:22 +08:00
David Wu e630a69b2d rockchip: test: Add ethernet test cases
1. Add phy loopback test
2. Add delayline array scaned
3. Add delayline setting
4. Add dhcp boot from network

Change-Id: I00abc1c7acb4659b78e29bffc12f0964e5d02937
Signed-off-by: David Wu <david.wu@rock-chips.com>
2017-11-13 09:48:59 +08:00
Shawn Lin de2f83b25a rockchip: test: Make start LBA mandatory for emmc test
Support reading start LBA from test command and so that
the developer could understand which area is cleared by
the emmc write test, and he/she recovery the image respectively
from the flashing tool by looking into the parameter file.

Change-Id: Ie050c44bb7ef5c4f0edd5f80370da12420500f08
Suggested-by:  Joseph Chen <chenjh@rock-chips.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-11-09 12:41:57 +08:00
Joseph Chen 7ea94c7847 rockchip: test: key: use ctrl+c to exit test
This is more flexible for users to determine exit or not

Change-Id: Idcd9ad605b8615062fafae485cd2f297ed021fee
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-07 16:13:17 +08:00
Joseph Chen 3557321365 rockchip: test: adjust position of guide info
Change-Id: Ibd674a7fea9c8b109e5766d98ef80c15fb612633
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-11-07 16:13:14 +08:00
Zhangbin Tong 08af5e362f rockchip: test: support ir test
Change-Id: I066eeca4fb7e2971ceee8419cbc2b8d00821397f
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
2017-11-03 11:57:10 +08:00
Joseph Chen 9dd6ea8e8e test: fix test-rknand.c compile error
Change-Id: Ib3ad1f217c004f56790691128f739a95feaf2349
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-10-27 17:30:04 +08:00
Zhaoyifeng 6faa29c665 test: add modular test for rknand on Rockchip platform
Write assigned data payload into rknand device and read back. Then
verify the context by comparing the write_buffer with read_buffer
one by one.

=> rktest rknand 30000
***********************************************************
Rockchip Board Module [rknand] Test start.
***********************************************************

Device 0: Vendor: 0x2207 Rev: V1.00 Prod: rknand
            Type: Hard Disk
            Capacity: 7304.0 MB = 7.1 GB (14958592 x 512)
... is now current device

rknand write: device 0 block # 4096, count 30000 ... 30000 blocks written: OK
rknand write: size 14MB, used 2196ms, speed 6MB/s

rknand read: device 0 block # 4096, count 30000 ... 30000 blocks read: OK
rknand read: size 14MB, used 941ms, speed 15MB/s
-----------------------------------------------------------
Rockchip Board Module [rknand] Test end <PASS>.. Total: 8.347s
-----------------------------------------------------------

Change-Id: Iedc8d4c3d30a488770c24eabcc81649f8bdecaf2
Signed-off-by: Zhaoyifeng <zyf@rock-chips.com>
2017-10-24 18:01:23 +08:00
Shawn Lin 4b81300eb8 test: improve the code of test-emmc
Firstly, we use simple_strtoul to simplify the code,
and it could even supports hexadecimal number as parameter.
Then we use kmalloc so that could ensure we get aligned
address for transfer. Finally correct the code logic for
blocks restriction.

Change-Id: I0bcee1170f642b47bff0b94883061c1a3645c5eb
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-10-24 17:31:36 +08:00
Joseph Chen ed5ce51773 rockchip: test: support regualtor test
1. test current regulator state matches fdt config or not;
2. test accuracy and correctness of voltage adjustment;
3. the test command: "rktest regulator".

Change-Id: I184ce36d4da7648a3c3052edbafb37f37c3a29be
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-10-24 16:15:14 +08:00
Shawn Lin 895be89479 rockchip: test: add modular test for eMMC on Rockchip platform
Write assigned data payload into eMMC and read back. Then
verify the context by comparing the write_buffer with read_buffer
one by one.

=> rktest emmc 20000
***********************************************************
Rockchip Board Module [emmc] Test start.
***********************************************************

MMC write: dev # 0, block # 4096, count 20000 ... 20000 blocks written: OK
eMMC write: size 9MB, used 313ms, speed 31MB/s

MMC read: dev # 0, block # 4096, count 20000 ... 20000 blocks read: OK
eMMC read: size 9MB, used 234ms, speed 42MB/s

-----------------------------------------------------------
Rockchip Board Module [emmc] Test end <PASS>.. Total: 4.389s
-----------------------------------------------------------

Change-Id: Ia8e6e559a41e8b52169326d3cd408ac7d5a02e97
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2017-10-24 16:13:46 +08:00
Joseph Chen 1dc7864b9b test: add rockchip board module test
1. add U-boot cmd "rktest", the cmd format:
	"rktest [module_name] [args...]"

2. add timer and key module test, the cmd are:
	"rktest timer", "rktest key"

Change-Id: I7056b7462925d3693a0e6101d83247f3f38736f8
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
2017-10-23 17:21:21 +08:00
Simon Glass 00caae6d47 env: Rename getenv/_f() to env_get()
We are now using an env_ prefix for environment functions. Rename these
two functions for consistency. Also add function comments in common.h.

Quite a few places use getenv() in a condition context, provoking a
warning from checkpatch. These are fixed up in this patch also.

Suggested-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-16 08:30:24 -04:00
Simon Glass 382bee57f1 env: Rename setenv() to env_set()
We are now using an env_ prefix for environment functions. Rename setenv()
for consistency. Also add function comments in common.h.

Suggested-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-16 08:22:18 -04:00
Simon Glass 3a37aee30f test: Move the FIT test into the correct place
Move this test so that it will run when 'make tests' is used.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-13 15:17:36 -04:00
Simon Glass 77b426703d test: Convert the FIT test to test/py
Convert this test to use the pytest framework.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-13 15:17:36 -04:00
Simon Glass bde671237f test: Indent test-fit.py to match the next patch
We plan to rewrite this script to use the pytest framework. To make it
easier to review the changes, indent the code to match the next patch.
This gets all of the whitespace changes out of the way.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-08-13 15:17:36 -04:00
Simon Glass 010ad8c34a test: Fix FIT test to pass again
A recent change adjusted a test string so that the test no-longer passes.
Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Heiko Schocher <hs@denx.de>
Fixes: b28c5fcc (test-fit.py: Minor grammar/spelling/clarification tweaks)
2017-08-13 15:17:35 -04:00
Tom Rini 845e10d165 tests: test_dfu.py: Add example udev rule for host_usb_dev_node
If one does not already have a rule to create a custom device node when
a given device enumerates it can be useful to have udev create a
bus path based node to the entry in /dev/bus/usb that was just
enumerated.  Given that DFU itself does not require a /dev entry it is a
good idea to provide a rule that will generate one.

Signed-off-by: Tom Rini <trini@konsulko.com>
2017-07-22 15:36:16 -04:00
Simon Glass 2028cc59f7 sandbox: Stop printing platdata at the start of SPL
Currently we have code which prints out platform data at the start of SPL.
Now that we have tests for dtoc this is probably not necessary. Drop it.
Update test_ofplatdata to check for empty output since it is useful to
check that sandbox_spl works as expected.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-07-11 10:08:20 -06:00
Simon Glass e5a9d27fdb test: Add a test for snprintf() and the banner/version
Add a simple test to make sure that these functions obey the buffer size
passed into them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
2017-07-11 10:08:19 -06:00
Simon Glass 95ce385a4a dm: core: Add uclass_first/next_device_check()
Sometimes it is useful to iterate through all devices in a uclass and
skip over those which do not work correctly (e.g fail to probe). Add two
new functions to provide this feature.

The caller must check the return value each time to make sure that the
device is valid. But the device pointer is always returned.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-07-11 10:08:19 -06:00
Simon Glass 9856157259 dm: core: Test uclass_first/next_device() on probe failure
Add some tests which check the behaviour of uclass_first_device() and
uclass_next_device() when probing of a device fails.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-07-11 10:08:19 -06:00
Heiko Schocher 630dfede22 tools/tbot: update README
refer in the README to tbots webpage, and delete
the README in tools/tbot, as the latest documentation
for tbot is on this webpage.

Signed-off-by: Heiko Schocher <hs@denx.de>
2017-06-12 08:38:44 -04:00
Simon Glass 4f414d392f test: bus: Add a check that dev is not NULL
We know that uclass_get_device() and device_find_child_by_of_offset() do
not return NULL for dev when they succeeds but coverity does not. Add an
extra check to hopefully keep it happy.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Coverity (CID: 163246)
Fixes: 0753bc2 (dm: Simple Watchdog uclass)
2017-06-12 08:38:10 -04:00
Simon Glass 9eace7f59e test: wdt: Add a check that dev is not NULL
We know that uclass_get_device() does not return NULL for dev when it
succeeds but coverity does not. Add an extra check to hopefully keep it
happy.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Coverity (CID: 163247)
Fixes: 0753bc2 (dm: Simple Watchdog uclass)
2017-06-12 08:38:09 -04:00
Simon Glass 1a596c44c0 test: pwm: Add a check that dev is not NULL
We know that uclass_get_device() does not return NULL for dev when it
succeeds but coverity does not. Add an extra check to hopefully keep it
happy.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Coverity (CID: 161690)
Fixes: 43b4156 (dm: sandbox: pwm: Add a basic pwm test)
2017-06-12 08:38:06 -04:00
Simon Glass 9f103b9cb5 dm: blk: Add a way to obtain a block device from its parent
Many devices support a child block device (e.g. MMC, USB). Add a
convenient way to get this device given the parent device.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2017-06-09 20:25:16 +09:00
Michal Simek 5bdb317065 test: py: hush: Add echo dependency
Some tests depends on echo command to be present.

Reported-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-05 14:13:02 -04:00
Michal Simek a5b548138b test: py: Use global pytestmark for hush tests
All tests in test_hush_if_test depends on hush parser to be
present. This patch simplify test dependencies by using global
pytestmark.

Reported-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
2017-06-05 14:13:02 -04:00
Simon Glass ac206a0f4e dm: phy: Update tests to use ut_asserteq()
Use ut_asserteq() to test equality since this gives a better error message
on failure. Also make a few of the tests more specific.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:14 -06:00
Simon Glass 86b54ece82 dm: test: Disable the fdt_offset test with livetree
We cannot run this test with livetree since it uses device tree offsets.
Mark it as flat tree only.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:14 -06:00
Simon Glass 298afb52cb dm: test: Separate out the bus DT offset test
We cannot access the device tree via an offset when running in livetree
mode. Separate out that part of the bus' children tests and mark it as
for the flat tree only.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:14 -06:00
Simon Glass 029ab15a69 test: Update 'make test' to run more tests
The standard sandbox board cannot run the of-platdata test since it needs
SPL. Also, we should test the flat tree version of sandbox.

Add these tests to the default test script.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:11 -06:00
Simon Glass 6fb2f57916 dm: core: Run tests with both livetree and flat tree
Some tests require either livetree or flat tree. Add flags to allow the
tests to specify this. Adjust the test runner to run with livetree (if
supported) and then flat tree.

Some video tests are quite slow and running on flat tree adds little extra
test value, so run these on livetree only.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:10 -06:00
Simon Glass c166c47ba3 dm: test: Add support for running tests with livetree
It is useful to run the driver model tests with both livetree and flat
tree in case something is different between the two. Add this feature to
the test runner.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:10 -06:00
Simon Glass 801587bd77 dm: test: Show the test filename when running
Show the filename of the test being run. Skip the path and show just the
base name.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:09 -06:00
Simon Glass f86db10cc5 dm: test: Move test running code into a separate function
We want to run the same test on flat and live trees. In preparation for
this, create a new function which handles running a test.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:09 -06:00
Simon Glass 34b744beb8 sandbox: Add a way to reset sandbox state for tests
Running a new test should reset the sandbox state to avoid tests
interferring with each other. Move the existing state-reset code into a
function so it can be used from tests.

Also update the code to reset the SPI devices and adjust the test code to
call it.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:09 -06:00
Simon Glass 19c8205e68 dm: core: Scan the live tree when setting up driver model
When starting up driver model with a live tree we need to scan the tree
for devices. Add code to handle this.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:08 -06:00
Simon Glass e48eeb9ea3 dm: blk: Improve block device claiming
The intention with block devices is that the device number (devnum field
in its descriptor) matches the alias of its parent device. For example,
with:

	aliases {
		mmc0 = "/sdhci@700b0600";
		mmc1 = "/sdhci@700b0400";
	}

we expect that the block devices for mmc0 and mmc1 would have device
numbers of 0 and 1 respectively.

Unfortunately this does not currently always happen. If there is another
MMC device earlier in the driver model data structures its block device
will be created first. It will therefore get device number 0 and mmc0
will therefore miss out. In this case the MMC device will have sequence
number 0 but its block device will not.

To avoid this, allow a device to request a device number and bump any
existing device number that is using it. This all happens during the
binding phase so it is safe to change these numbers around. This allows
device numbers to match the aliases in all circumstances.

Add a test to verify the behaviour.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:05 -06:00
Simon Glass 6139281a64 dm: blk: Allow finding block devices without probing
Sometimes it is useful to be able to find a block device without also
probing it. Add a function for this as well as the associated test.

Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-01 07:03:04 -06:00
Michal Simek 6b83c38d7a test: py: Add cmd_echo dependency
There is missing dependency on echo command. Mark tests which requires
echo.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
2017-05-22 07:29:55 -04:00