test/py: Add usb gadget binding test
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 10 Sep 2021 14:16:24 +0000 (16:16 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Tue, 12 Oct 2021 12:20:04 +0000 (14:20 +0200)
Add a specific usb gadget binding test which check that
binding a driver without compatible string is working as expected.

the command "bind /usb@1 usb_ether" should give the following "dm tree"
command output:

[...]
 usb           0  [   ]   usb_sandbox           |-- usb@1
 usb_hub       0  [   ]   usb_hub               |   |-- hub
 usb_emul      0  [   ]   usb_sandbox_hub       |   |   `-- hub-emul
 usb_emul      1  [   ]   usb_sandbox_flash     |   |       |-- flash-stick@0
 usb_emul      2  [   ]   usb_sandbox_flash     |   |       |-- flash-stick@1
 usb_emul      3  [   ]   usb_sandbox_flash     |   |       |-- flash-stick@2
 usb_emul      4  [   ]   usb_sandbox_keyb      |   |       `-- keyb@3
 eth           4  [   ]   usb_ether             |   `-- usb@1
[...]

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Herbert Poetzl <herbert@13thfloor.at>
Reviewed-by: Simon Glass <sjg@chromium.org>
test/py/tests/test_bind.py

index 6703325..9f234fb 100644 (file)
@@ -33,6 +33,13 @@ def test_bind_unbind_with_node(u_boot_console):
        assert in_tree(tree, 'bind-test-child1', 'phy', 'phy_sandbox', 1, False)
        assert in_tree(tree, 'bind-test-child2', 'simple_bus', 'simple_bus', 1, True)
 
+       #bind usb_ether driver (which has no compatible) to usb@1 node.
+       ##New entry usb_ether should appear in the dm tree
+       response = u_boot_console.run_command('bind  /usb@1 usb_ether')
+       assert response == ''
+       tree = u_boot_console.run_command('dm tree')
+       assert in_tree(tree, 'usb@1', 'ethernet', 'usb_ether', 1, True)
+
        #Unbind child #1. No error expected and all devices should be there except for bind-test-child1
        response = u_boot_console.run_command('unbind  /bind-test/bind-test-child1')
        assert response == ''