public void RunStandaloneTest(string name, string machineId, IDictionary <string, string> env, Action <TestRunInfo> resultFunc)
        {
            string runId = "Standalone test run on: " + DateTime.Now;

            var driver = testDriverManager.GetTestDriver(
                testDriverManager.Tests.Where(t => t.Id == name)
                .First().TestTypeId);

            var machine = machines.GetMachine(machineId);

            string initSnapshotId = machine.GetSnapshots().Where(ss => ss.Name == "TEST_INIT").First().Id;

            new Thread(() =>
            {
                try
                {
                    machine.Start(initSnapshotId);
                    TestResult res = driver.RunTest(name, machine, results.CreateResultBin(runId, "default"), env);
                    results.SetResult(runId, "default", res);
                }
                catch (Exception e)
                {
                    results.SetResult(runId, "default", new TestResult()
                    {
                        Success       = false,
                        StandardError = e.Message
                    });
                }
            }).Start();
        }
 public void OnResult(string testKey, TestResult result)
 {
     results.SetResult(runId, testKey, result);
 }