Skip to content

Commit e109305

Browse files
committed
Fix failing tests
1 parent aba5db8 commit e109305

File tree

2 files changed

+24
-13
lines changed

2 files changed

+24
-13
lines changed

e2etest/declarativeScenario.go

+14-9
Original file line numberDiff line numberDiff line change
@@ -71,20 +71,25 @@ func (s *scenario) Run() {
7171
defer s.cleanup()
7272

7373
// setup runner
74-
logDir, err := os.MkdirTemp("", "")
74+
azcopyDir, err := os.MkdirTemp("", "")
7575
if err != nil {
7676
s.a.Error(err.Error())
7777
return
7878
}
7979
azcopyRan := false
8080
defer func() {
81+
if os.Getenv("AZCOPY_E2E_LOG_OUTPUT") == "" {
82+
s.a.Assert(os.RemoveAll(azcopyDir), equals(), nil)
83+
return // no need, just delete logdir
84+
}
85+
8186
err := os.MkdirAll(os.Getenv("AZCOPY_E2E_LOG_OUTPUT"), os.ModePerm|os.ModeDir)
8287
if err != nil {
8388
s.a.Assert(err, equals(), nil)
8489
return
8590
}
8691
if azcopyRan && s.a.Failed() {
87-
s.uploadLogs(logDir)
92+
s.uploadLogs(azcopyDir)
8893
s.a.(*testingAsserter).t.Log("uploaded logs for job " + s.state.result.jobID.String() + " as an artifact")
8994
}
9095
}()
@@ -106,29 +111,29 @@ func (s *scenario) Run() {
106111

107112
// execute
108113
azcopyRan = true
109-
s.runAzCopy(logDir)
114+
s.runAzCopy(azcopyDir)
110115
if s.a.Failed() {
111116
return // execution failed. No point in running validation
112117
}
113118

114119
// resume if needed
115120
if s.needResume {
116-
tx, err := s.state.result.GetTransferList(common.ETransferStatus.Cancelled())
121+
tx, err := s.state.result.GetTransferList(common.ETransferStatus.Cancelled(), azcopyDir)
117122
s.a.AssertNoErr(err, "Failed to get transfer list for Cancelled")
118123
s.a.Assert(len(tx), equals(), len(s.p.debugSkipFiles), "Job cancel didn't completely work")
119124

120125
if !s.runHook(s.hs.beforeResumeHook) {
121126
return
122127
}
123128

124-
s.resumeAzCopy(logDir)
129+
s.resumeAzCopy(azcopyDir)
125130
}
126131
if s.a.Failed() {
127132
return // resume failed. No point in running validation
128133
}
129134

130135
// check
131-
s.validateTransferStates()
136+
s.validateTransferStates(azcopyDir)
132137
if s.a.Failed() {
133138
return // no point in doing more validation
134139
}
@@ -148,7 +153,7 @@ func (s *scenario) Run() {
148153
}
149154

150155
func (s *scenario) uploadLogs(logDir string) {
151-
if s.state.result == nil {
156+
if s.state.result == nil || os.Getenv("AZCOPY_E2E_LOG_OUTPUT") == "" {
152157
return // nothing to upload
153158
}
154159
s.a.Assert(os.Rename(logDir, filepath.Join(os.Getenv("AZCOPY_E2E_LOG_OUTPUT"), s.state.result.jobID.String())), equals(), nil)
@@ -295,7 +300,7 @@ func (s *scenario) validateRemove() {
295300
}
296301
}
297302
}
298-
func (s *scenario) validateTransferStates() {
303+
func (s *scenario) validateTransferStates(azcopyDir string) {
299304
if s.operation == eOperation.Remove() {
300305
s.validateRemove()
301306
return
@@ -318,7 +323,7 @@ func (s *scenario) validateTransferStates() {
318323
// Is that OK? (Not sure what to do if it's not, because azcopy jobs show, apparently doesn't offer us a way to get the skipped list)
319324
} {
320325
expectedTransfers := s.fs.getForStatus(statusToTest, expectFolders, expectRootFolder)
321-
actualTransfers, err := s.state.result.GetTransferList(statusToTest)
326+
actualTransfers, err := s.state.result.GetTransferList(statusToTest, azcopyDir)
322327
s.a.AssertNoErr(err)
323328

324329
Validator{}.ValidateCopyTransfersAreScheduled(s.a, isSrcEncoded, isDstEncoded, srcRoot, dstRoot, expectedTransfers, actualTransfers, statusToTest, s.FromTo(), s.srcAccountType, s.destAccountType)

e2etest/runner.go

+10-4
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,15 @@ func (t *TestRunner) SetTransferStatusFlag(value string) {
274274
t.flags["with-status"] = value
275275
}
276276

277-
func (t *TestRunner) ExecuteJobsShowCommand(jobID common.JobID) (JobsShowCommandResult, error) {
277+
func (t *TestRunner) ExecuteJobsShowCommand(jobID common.JobID, azcopyDir string) (JobsShowCommandResult, error) {
278278
args := append([]string{"jobs", "show", jobID.String()}, t.computeArgs()...)
279-
out, err := exec.Command(GlobalInputManager{}.GetExecutablePath(), args...).Output()
279+
cmd := exec.Command(GlobalInputManager{}.GetExecutablePath(), args...)
280+
281+
if azcopyDir != "" {
282+
cmd.Env = append(cmd.Env, "AZCOPY_JOB_PLAN_LOCATION="+filepath.Join(azcopyDir, "plans"))
283+
}
284+
285+
out, err := cmd.Output()
280286
if err != nil {
281287
return JobsShowCommandResult{}, err
282288
}
@@ -313,12 +319,12 @@ func newCopyOrSyncCommandResult(rawOutput string) (CopyOrSyncCommandResult, bool
313319
return CopyOrSyncCommandResult{jobID: jobSummary.JobID, finalStatus: jobSummary}, true
314320
}
315321

316-
func (c *CopyOrSyncCommandResult) GetTransferList(status common.TransferStatus) ([]common.TransferDetail, error) {
322+
func (c *CopyOrSyncCommandResult) GetTransferList(status common.TransferStatus, azcopyDir string) ([]common.TransferDetail, error) {
317323
runner := newTestRunner()
318324
runner.SetTransferStatusFlag(status.String())
319325

320326
// invoke AzCopy to get the status from the plan files
321-
result, err := runner.ExecuteJobsShowCommand(c.jobID)
327+
result, err := runner.ExecuteJobsShowCommand(c.jobID, azcopyDir)
322328
if err != nil {
323329
return make([]common.TransferDetail, 0), err
324330
}

0 commit comments

Comments
 (0)