In reply to dave_59:
“As soon the build_phase return, it tries to execute the build_phase of a child of the component whose build_phase just returned. It does not matter that there were no children before the test build_phase started, it only checks for children after the build_phase returns.”
In what order does UVM execute the child build phases of a UVM component? Are the children chosen randomly? Are they executed in the order they are created in the parent build phase? Some other scheme, perhaps?