code: def test_scenario(self, repetitions=1, sim_tics=100):
      output_str = "Testing Determinism in %s -> " % (
          self.scenario_name
      )
  
      prefix = self.output_path + self.scenario_name
  
      config_settings = self.world.get_settings()
      config_settings.synchronous_mode = True
      config_settings.fixed_delta_seconds = 0.05
  
      spectator_tr = carla.Transform(
          carla.Location(160, -205, 10), carla.Rotation(yaw=180)
      )
  
      sim_prefixes = []
      t_comp = 0
      for i in range(0, repetitions):
          prefix_rep = prefix + "_rep_" + ("%03d" % i)
          t_comp += self.scene.run_simulation(
              prefix_rep, config_settings, spectator_tr, tics=sim_tics
          )
          sim_prefixes.append(prefix_rep)
  
      determ_repet = self.check_simulations(sim_prefixes, sim_tics)
      output_str += "Deterministic Repetitions: %r / %2d" % (
          determ_repet,
          repetitions,
      )
      output_str += "  -> Comp. FPS: %.0f" % (
          (repetitions * sim_tics) / t_comp
      )
  
      if determ_repet[0] != repetitions:
          print(
              "Error!!! Scenario %s is not deterministic: %d / %d"
              % (self.scenario_name, determ_repet[0], repetitions)
          )
  
      return output_str
  
imports: import glob
  import os
  import sys
  import argparse
  import time
  import filecmp
  import shutil
  from queue import Queue
  from queue import Empty
  import numpy
  import carla
label_desc: Use image node_id 4 for calling the SensorScenarioTester obj's underlying member method code with example usage: obj.test_scenario(repetitions, sim_tics) and returns: output_str