UVM test finishes immediately

In reply to chr_sue:

that output came from me printing my transaction… and my poor attempt at implementing the convert2string() function in my sequence item.

As far as the clock here is my code for it along with my top_level test bench with my DUT:

import uvm_pkg::*;
import uvm_csv_test_pkg::*;

module top_tb;
  timeunit      100ns;
  timeprecision 1ps;
initial begin
  input_i.clk = 0;
  forever #10ns input_i.clk = ~input_i.clk;
end

 uvm_csv_depack_in input_i ();
 uvm_csv_depack_in output_o ();

  /* depacketizer */
  depacketizer depack (
    // input
    .data_i(input_i.data),
  .data_valid_i(input_i.data_valid),
  .x_res_i(13'h0000),
  .y_res_i(12'h000),
  .clk_i(input_i.clk),
  .rst_i(1'b0),
  // output 
  .data_o(output_o.data),
  .data_valid_o(output_o.data_valid)
);

  initial
  begin
    uvm_config_db #(virtual uvm_csv_depack_in)::set(null,"uvm_test_top.*", "input_i", input_i); // assign the interface
    uvm_config_db #(virtual uvm_csv_depack_in)::set(null,"uvm_test_top.*", "output_o", output_o);
    run_test(); // run the test
  end
endmodule

I can see my clock signal go high in my waveform viewer but it is at that very instance of time when my simulation ends…