It is not a good place to print the topology from the toplevel module. It might not be ready directly after calling run_test.
You could include a trigger in the end_of_elaboration_phase of the test that indicates your dynamic part of the testbench is ready. And you have to wit for this trigger in the toplevel module.
It is compiled without getting any error message. even it is generating the exact stimulus
but topology is not printing
my answer is uvm class is dynamic in nature and the top module is static in nature.and after creating the component and connecting the components only will build the topology all are happening in zero simulation time.
May be the simulation gets terminated when the underlying phases in the test.env hierarchy end and the statements after the run_test will never get executed?
It is just my guess after reading the other comments.