def METHOD_NAME(sleep_duration):
  global counter
  pandas = Panda.list()
  print(pandas)
  # make sure two pandas are connected
  if len(pandas) != 2:
    raise Exception("Connect white/grey and black panda to run this test!")
  # connect
  pandas[0] = Panda(pandas[0])
  pandas[1] = Panda(pandas[1])
  black_panda = None
  other_panda = None
  # find out which one is black
  if pandas[0].is_black() and not pandas[1].is_black():
    black_panda = pandas[0]
    other_panda = pandas[1]
  elif not pandas[0].is_black() and pandas[1].is_black():
    black_panda = pandas[1]
    other_panda = pandas[0]
  else:
    raise Exception("Connect white/grey and black panda to run this test!")
  # disable safety modes
  black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
  other_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
  # test health packet
  print("black panda health", black_panda.health())
  print("other panda health", other_panda.health())
  # test black -> other
  while True:
    test_buses(black_panda, other_panda, True, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (1, True, [0])], sleep_duration)
    test_buses(black_panda, other_panda, False, [(0, False, [0]), (1, False, [1]), (2, False, [2]), (0, True, [0, 1])], sleep_duration)
    counter += 1
    print("Number of cycles:", counter, "Non-zero bus errors:", nonzero_bus_errors, "Zero bus errors:", zero_bus_errors, "Content errors:", content_errors)
    # Toggle relay
    black_panda.set_safety_mode(Panda.SAFETY_SILENT)
    time.sleep(1)
    black_panda.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
    time.sleep(1)