public async Task <JobResult> Execute() { JobResult jobResult; if (!Directory.Exists(_args.BuildPath)) { _logger.WriteError(_args, $"Failed to access fileshare: {_args.BuildPath}"); jobResult = new JobResult { JobStatus = Status.Failed, Message = $"Failed to access fileshare: {_args.BuildPath}" }; return(jobResult); } if (!TryCreateTestConfig($@"\\antaresdeployment\PublicLockbox\{_args.CloudName}geo")) { jobResult = new JobResult(); jobResult.JobStatus = Status.Failed; jobResult.Message = $"Failed to create TestCommon config file"; return(jobResult); } if (_args.TestCategories == null || _args.TestCategories.Count == 0) { jobResult = new JobResult(); jobResult.JobStatus = Status.Failed; jobResult.Message = $"Test names were not specified"; return(jobResult); } var testClient = TestClientFactory.GetTestClient(_logger, _args); _logger.WriteInfo(_args, $"Execute {_args.TestCategories[0].First()} tests"); var jResult = await JobStatusHelper.StartPeriodicStatusUpdates(this, (IJob)testClient, testClient.ExecuteTestAsync(_args.TestCategories[0].First())); return(jResult); }