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>
Этот коммит содержится в:
Agniva De Sarker
2020-11-24 21:36:34 +05:30
коммит произвёл GitHub
родитель 118b3be57c
Коммит 64e98d535d
2 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@@ -43,8 +43,9 @@ func (a *App) SaveComplianceReport(job *model.Compliance) (*model.Compliance, *m
}
}
jCopy := job.DeepCopy()
a.Srv().Go(func() {
a.Compliance().RunComplianceJob(job)
a.Compliance().RunComplianceJob(jCopy)
})
return job, nil

Просмотреть файл

@@ -58,6 +58,11 @@ func (c *Compliance) PreSave() {
c.CreateAt = GetMillis()
}
func (c *Compliance) DeepCopy() *Compliance {
copy := *c
return &copy
}
func (c *Compliance) JobName() string {
jobName := c.Type
if c.Type == COMPLIANCE_TYPE_DAILY {