public TestExecutor(
      Test test,
      AgentNode agent,
      Collection<Device> devices,
      OutputStream tracker,
      long timeout,
      String clientTarget) {
    this.test = test;
    // test.setStartTime( System.currentTimeMillis() );
    this.agent = agent;
    this.devices = devices;
    if (agent.getBackupWorkspace().containsKey(test.getId())) {
      this.workspace =
          new File(agent.getWorkspace(), agent.getBackupWorkspace().remove(test.getId()));
    } else {
      this.workspace = new File(agent.getWorkspace(), test.getId());
    }

    if (tracker == null) tracker = System.out;
    this.tracker = tracker;
    this.timeout = timeout;
    this.clientTarget = clientTarget;
    dos.addOutputStream(tracker);
    if (tracker != System.out) dos.addOutputStream(System.out);
  }