def METHOD_NAME(self, reset_and_start_fledge, add_south, skip_verify_north_interface, remove_directories,
                      south_branch, fledge_url, start_north_pi_server_c, pi_host, pi_port, pi_token,
                      modbus_serial_port, modbus_baudrate):
    """ This fixture clone a south and north repo and starts both south and north instance
        reset_and_start_fledge: Fixture that resets and starts fledge, no explicit invocation, called at start
        add_south: Fixture that adds a south service with given configuration with enabled or disabled mode
        remove_directories: Fixture that remove directories created during the tests
    """
    self.check_connect(modbus_serial_port, modbus_baudrate)
    cfg = {"protocol": {"value": "RTU"}, "asset": {"value": "modbus"},
           "device": {"value": modbus_serial_port}, "baud": {"value": modbus_baudrate},
           "map": {"value": {"values": [
               {"offset": -1.1, "assetName": "adam4017", "slave": 2, "name": "dwyer_temperature", "register": 0,
                "scale": 0.00178},
               {"offset": 0, "assetName": "adam4017", "slave": 2, "name": "dwyer_humidity", "register": 1,
                "scale": 0.00152},
               {"offset": -50, "assetName": "adam4015", "slave": 3, "name": "pt100_0", "register": 0,
                "scale": 0.00305},
               {"offset": -50, "assetName": "adam4015", "slave": 3, "name": "pt100_1", "register": 1,
                "scale": 0.00305}
           ]}}
           }
    add_south(SOUTH_PLUGIN, south_branch, fledge_url, service_name=SVC_NAME, config=cfg,
              plugin_lang="C", start_service=False, plugin_discovery_name=PLUGIN_NAME)
    if not skip_verify_north_interface:
        start_north_pi_server_c(fledge_url, pi_host, pi_port, pi_token)
    yield self.METHOD_NAME
    remove_directories("/tmp/fledge-south-{}".format(SOUTH_PLUGIN.lower()))