MM-30862: Fix racy test RunComplianceReports (#16377)
We pass a copy of the compliance object to the goroutine https://mattermost.atlassian.net/browse/MM-30862 ```release-note NONE ``` Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
118b3be57c
Коммит
64e98d535d
@@ -43,8 +43,9 @@ func (a *App) SaveComplianceReport(job *model.Compliance) (*model.Compliance, *m
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jCopy := job.DeepCopy()
|
||||||
a.Srv().Go(func() {
|
a.Srv().Go(func() {
|
||||||
a.Compliance().RunComplianceJob(job)
|
a.Compliance().RunComplianceJob(jCopy)
|
||||||
})
|
})
|
||||||
|
|
||||||
return job, nil
|
return job, nil
|
||||||
|
|||||||
@@ -58,6 +58,11 @@ func (c *Compliance) PreSave() {
|
|||||||
c.CreateAt = GetMillis()
|
c.CreateAt = GetMillis()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Compliance) DeepCopy() *Compliance {
|
||||||
|
copy := *c
|
||||||
|
return ©
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Compliance) JobName() string {
|
func (c *Compliance) JobName() string {
|
||||||
jobName := c.Type
|
jobName := c.Type
|
||||||
if c.Type == COMPLIANCE_TYPE_DAILY {
|
if c.Type == COMPLIANCE_TYPE_DAILY {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user