test/py: Update test_bind
authorPatrice Chotard <patrice.chotard@st.com>
Tue, 28 Jul 2020 07:13:34 +0000 (09:13 +0200)
committerSimon Glass <sjg@chromium.org>
Sat, 22 Aug 2020 13:58:39 +0000 (07:58 -0600)
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 <patrice.chotard@st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
test/py/tests/test_bind.py

index 1de125c..5e73d40 100644 (file)
@@ -7,13 +7,16 @@ import re
 
 def in_tree(response, name, uclass, drv, depth, last_child):
        lines = [x.strip() for x in response.splitlines()]
-       leaf = ' ' * 4 * depth;
-       if not last_child:
-               leaf = leaf + r'\|'
-       else:
-               leaf = leaf + '`'
+       leaf = ''
+       if depth != 0:
+               leaf = '   ' + '    ' * (depth - 1) ;
+               if not last_child:
+                       leaf = leaf + r'\|'
+               else:
+                        leaf = leaf + '`'
+
        leaf = leaf + '-- ' + name
-       line = (r' *{:10.10}    [0-9]*  \[ [ +] \]   {:20.20}  {}$'
+       line = (r' *{:10.10}    [0-9]*  \[ [ +] \]   {:20.20}  [` |]{}$'
                .format(uclass, drv, leaf))
        prog = re.compile(line)
        for l in lines: