* [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py
@ 2016-03-16 12:00 Jagan Teki
2016-03-16 12:00 ` [U-Boot] [PATCH 2/2] board: README.sandbox: Update dm test command Jagan Teki
2016-03-16 16:27 ` [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py Stephen Warren
0 siblings, 2 replies; 3+ messages in thread
From: Jagan Teki @ 2016-03-16 12:00 UTC (permalink / raw)
To: u-boot
Since all the tests are implemented in pytest infrastructure,
So update the dm tests with the same instead of ./test/dm/test-dm.sh
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
---
doc/driver-model/README.txt | 229 +++++++++++++++++++++++++-------------------
1 file changed, 128 insertions(+), 101 deletions(-)
diff --git a/doc/driver-model/README.txt b/doc/driver-model/README.txt
index b891e84..3bd8536 100644
--- a/doc/driver-model/README.txt
+++ b/doc/driver-model/README.txt
@@ -90,110 +90,137 @@ The intent with driver model is that the core portion has 100% test coverage
in sandbox, and every uclass has its own test. As a move towards this, tests
are provided in test/dm. To run them, try:
- ./test/dm/test-dm.sh
+ ./test/py/test.py --bd sandbox --build -k ut_dm -v
You should see something like this:
- <...U-Boot banner...>
- Running 53 driver model tests
- Test: dm_test_autobind
- Test: dm_test_autoprobe
- Test: dm_test_bus_child_post_bind
- Test: dm_test_bus_child_post_bind_uclass
- Test: dm_test_bus_child_pre_probe_uclass
- Test: dm_test_bus_children
- Device 'c-test at 0': seq 0 is in use by 'd-test'
- Device 'c-test at 1': seq 1 is in use by 'f-test'
- Test: dm_test_bus_children_funcs
- Test: dm_test_bus_children_iterators
- Test: dm_test_bus_parent_data
- Test: dm_test_bus_parent_data_uclass
- Test: dm_test_bus_parent_ops
- Test: dm_test_bus_parent_platdata
- Test: dm_test_bus_parent_platdata_uclass
- Test: dm_test_children
- Test: dm_test_device_get_uclass_id
- Test: dm_test_eth
- Using eth at 10002000 device
- Using eth at 10003000 device
- Using eth at 10004000 device
- Test: dm_test_eth_alias
- Using eth at 10002000 device
- Using eth at 10004000 device
- Using eth at 10002000 device
- Using eth at 10003000 device
- Test: dm_test_eth_prime
- Using eth at 10003000 device
- Using eth at 10002000 device
- Test: dm_test_eth_rotate
-
- Error: eth at 10004000 address not set.
-
- Error: eth at 10004000 address not set.
- Using eth at 10002000 device
-
- Error: eth at 10004000 address not set.
-
- Error: eth at 10004000 address not set.
- Using eth at 10004000 device
- Test: dm_test_fdt
- Test: dm_test_fdt_offset
- Test: dm_test_fdt_pre_reloc
- Test: dm_test_fdt_uclass_seq
- Test: dm_test_gpio
- extra-gpios: get_value: error: gpio b5 not reserved
- Test: dm_test_gpio_anon
- Test: dm_test_gpio_copy
- Test: dm_test_gpio_leak
- extra-gpios: get_value: error: gpio b5 not reserved
- Test: dm_test_gpio_phandles
- Test: dm_test_gpio_requestf
- Test: dm_test_i2c_bytewise
- Test: dm_test_i2c_find
- Test: dm_test_i2c_offset
- Test: dm_test_i2c_offset_len
- Test: dm_test_i2c_probe_empty
- Test: dm_test_i2c_read_write
- Test: dm_test_i2c_speed
- Test: dm_test_leak
- Test: dm_test_lifecycle
- Test: dm_test_net_retry
- Using eth at 10004000 device
- Using eth at 10002000 device
- Using eth at 10004000 device
- Test: dm_test_operations
- Test: dm_test_ordering
- Test: dm_test_pci_base
- Test: dm_test_pci_swapcase
- Test: dm_test_platdata
- Test: dm_test_pre_reloc
- Test: dm_test_remove
- Test: dm_test_spi_find
- Invalid chip select 0:0 (err=-19)
- SF: Failed to get idcodes
- SF: Detected M25P16 with page size 256 Bytes, erase size 64 KiB, total 2 MiB
- Test: dm_test_spi_flash
- 2097152 bytes written in 0 ms
- SF: Detected M25P16 with page size 256 Bytes, erase size 64 KiB, total 2 MiB
- SPI flash test:
- 0 erase: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- 1 check: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- 2 write: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- 3 read: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- Test passed
- 0 erase: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- 1 check: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- 2 write: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- 3 read: 0 ticks, 65536000 KiB/s 524288.000 Mbps
- Test: dm_test_spi_xfer
- SF: Detected M25P16 with page size 256 Bytes, erase size 64 KiB, total 2 MiB
- Test: dm_test_uclass
- Test: dm_test_uclass_before_ready
- Test: dm_test_usb_base
- Test: dm_test_usb_flash
- USB-1: scanning bus 1 for devices... 2 USB Device(s) found
- Failures: 0
-
+(venv)$ ./test/py/test.py --bd sandbox --build -k ut_dm -v
++make O=/root/u-boot/build-sandbox -s sandbox_defconfig
++make O=/root/u-boot/build-sandbox -s -j8
+======================================================================================== test session starts ========================================================================================
+platform linux2 -- Python 2.7.5, pytest-2.9.0, py-1.4.31, pluggy-0.3.1 -- /root/u-boot/venv/bin/python
+cachedir: .cache
+rootdir: /root/u-boot, inifile:
+collected 199 items
+
+test/py/tests/test_ut.py::test_ut_dm_init PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_bind] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_multi_channel_conversion] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_multi_channel_shot] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_single_channel_conversion] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_single_channel_shot] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_supply] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_adc_wrong_channel_selection] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_autobind] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_autobind_uclass_pdata_alloc] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_autobind_uclass_pdata_valid] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_autoprobe] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_child_post_bind] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_child_post_bind_uclass] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_child_pre_probe_uclass] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_children] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_children_funcs] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_children_iterators] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_parent_data] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_parent_data_uclass] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_parent_ops] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_parent_platdata] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_bus_parent_platdata_uclass] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_children] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_clk_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_clk_periph] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_device_get_uclass_id] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_eth] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_eth_act] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_eth_alias] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_eth_prime] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_eth_rotate] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_fdt] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_fdt_offset] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_fdt_pre_reloc] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_fdt_uclass_seq] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_gpio] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_gpio_anon] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_gpio_copy] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_gpio_leak] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_gpio_phandles] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_gpio_requestf] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_bytewise] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_find] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_offset] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_offset_len] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_probe_empty] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_read_write] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_i2c_speed] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_leak] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_led_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_led_gpio] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_led_label] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_lifecycle] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_mmc_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_net_retry] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_operations] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_ordering] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_pci_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_pci_busnum] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_pci_swapcase] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_platdata] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_pmic_get] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_pmic_io] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_autoset] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_autoset_list] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_get] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_set_get_current] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_set_get_enable] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_set_get_mode] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_power_regulator_set_get_voltage] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_pre_reloc] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_ram_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_regmap_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_regmap_syscon] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_remoteproc_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_remove] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_reset_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_reset_walk] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_rtc_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_rtc_dual] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_rtc_reset] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_rtc_set_get] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_spi_find] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_spi_flash] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_spi_xfer] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_syscon_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_syscon_by_driver_data] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_timer_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_uclass] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_uclass_before_ready] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_uclass_devices_find] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_uclass_devices_find_by_name] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_uclass_devices_get] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_uclass_devices_get_by_name] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_flash] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_keyb] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_multi] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_remove] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_tree] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_tree_remove] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_usb_tree_reorder] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_base] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_bmp] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_bmp_comp] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_chars] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_context] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_rotation1] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_rotation2] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_rotation3] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_text] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_truetype] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_truetype_bs] PASSED
+test/py/tests/test_ut.py::test_ut[ut_dm_video_truetype_scroll] PASSED
+
+================================================================================= 84 tests deselected by '-kut_dm' ==================================================================================
+============================================================================= 115 passed, 84 deselected in 4.95 seconds =============================================================================
What is going on?
-----------------
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 2/2] board: README.sandbox: Update dm test command
2016-03-16 12:00 [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py Jagan Teki
@ 2016-03-16 12:00 ` Jagan Teki
2016-03-16 16:27 ` [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py Stephen Warren
1 sibling, 0 replies; 3+ messages in thread
From: Jagan Teki @ 2016-03-16 12:00 UTC (permalink / raw)
To: u-boot
Update dm test command with pytest instead of ./test/dm/test-dm.sh
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jagan Teki <jteki@openedev.com>
---
board/sandbox/README.sandbox | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/board/sandbox/README.sandbox b/board/sandbox/README.sandbox
index 08489e3..fa1842b 100644
--- a/board/sandbox/README.sandbox
+++ b/board/sandbox/README.sandbox
@@ -349,7 +349,8 @@ directory. These include:
- Unit tests for U-Boot's compression algorithms, useful for
security checking. It supports gzip, bzip2, lzma and lzo.
driver model
- - test/dm/test-dm.sh to run these.
+ - Run this pytest
+ ./test/py/test.py --bd sandbox --build -k ut_dm -v
image
- Unit tests for images:
test/image/test-imagetools.sh - multi-file images
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py
2016-03-16 12:00 [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py Jagan Teki
2016-03-16 12:00 ` [U-Boot] [PATCH 2/2] board: README.sandbox: Update dm test command Jagan Teki
@ 2016-03-16 16:27 ` Stephen Warren
1 sibling, 0 replies; 3+ messages in thread
From: Stephen Warren @ 2016-03-16 16:27 UTC (permalink / raw)
To: u-boot
On 03/16/2016 06:00 AM, Jagan Teki wrote:
> Since all the tests are implemented in pytest infrastructure,
> So update the dm tests with the same instead of ./test/dm/test-dm.sh
> diff --git a/doc/driver-model/README.txt b/doc/driver-model/README.txt
> + ./test/py/test.py --bd sandbox --build -k ut_dm -v
I'd suggest dropping the -v to simplify the output, although I suppose
it might be useful to list the name of each test separately.
>
> You should see something like this:
>
> - <...U-Boot banner...>
...
> +(venv)$ ./test/py/test.py --bd sandbox --build -k ut_dm -v
> ++make O=/root/u-boot/build-sandbox -s sandbox_defconfig
> ++make O=/root/u-boot/build-sandbox -s -j8
> +======================================================================================== test session starts ========================================================================================
> +platform linux2 -- Python 2.7.5, pytest-2.9.0, py-1.4.31, pluggy-0.3.1 -- /root/u-boot/venv/bin/python
I'd suggest running the command in a terminal with 80 columns to narrow
the width of the output.
Other than than, the series,
Acked-by: Stephen Warren <swarren@nvidia.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-03-16 16:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-16 12:00 [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py Jagan Teki
2016-03-16 12:00 ` [U-Boot] [PATCH 2/2] board: README.sandbox: Update dm test command Jagan Teki
2016-03-16 16:27 ` [U-Boot] [PATCH 1/2] doc: driver-model: Update dm tests run using test.py Stephen Warren
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.