[MM-62408] Server Code Coverage with Fully Parallel Tests (#30078)

* TestPool

* Store infra

* Store tests updates

* Bump maximum concurrent postgres connections

* More infra

* channels/jobs

* channels/app

* channels/api4

* Protect i18n from concurrent access

* Replace some use of os.Setenv

* Remove debug

* Lint fixes

* Fix more linting

* Fix test

* Remove use of Setenv in drafts tests

* Fix flaky TestWebHubCloseConnOnDBFail

* Fix merge

* [MM-62408] Add CI job to generate test coverage (#30284)

* Add CI job to generate test coverage

* Remove use of Setenv in drafts tests

* Fix flaky TestWebHubCloseConnOnDBFail

* Fix more Setenv usage

* Fix more potential flakyness

* Remove parallelism from flaky test

* Remove conflicting env var

* Fix

* Disable parallelism

* Test atomic covermode

* Disable parallelism

* Enable parallelism

* Add upload coverage step

* Fix codecov.yml

* Add codecov.yml

* Remove redundant workspace field

* Add Parallel() util methods and refactor

* Fix formatting

* More formatting fixes

* Fix reporting
Этот коммит содержится в:
Claudio Costa
2025-05-30 05:58:26 -06:00
коммит произвёл GitHub
родитель 1cf2f08108
Коммит 611b2a8e79
191 изменённых файлов: 2719 добавлений и 496 удалений

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

@@ -59,6 +59,7 @@ func TestSetLicenseOnStart(t *testing.T) {
}
func TestReadReplicaDisabledBasedOnLicense(t *testing.T) {
mainHelper.Parallel(t)
cfg := model.Config{}
cfg.SetDefaults()
driverName := os.Getenv("MM_SQLSETTINGS_DRIVERNAME")
@@ -131,7 +132,9 @@ func TestReadReplicaDisabledBasedOnLicense(t *testing.T) {
}
func TestMetrics(t *testing.T) {
mainHelper.Parallel(t)
t.Run("ensure the metrics server is not started by default", func(t *testing.T) {
mainHelper.Parallel(t)
th := Setup(t)
defer th.TearDown()
@@ -139,6 +142,7 @@ func TestMetrics(t *testing.T) {
})
t.Run("ensure the metrics server is started", func(t *testing.T) {
mainHelper.Parallel(t)
th := Setup(t, StartMetrics())
defer th.TearDown()
@@ -166,6 +170,7 @@ func TestMetrics(t *testing.T) {
})
t.Run("ensure the metrics server is started with advanced metrics", func(t *testing.T) {
mainHelper.Parallel(t)
th := Setup(t, StartMetrics())
defer th.TearDown()
@@ -180,6 +185,7 @@ func TestMetrics(t *testing.T) {
})
t.Run("ensure advanced metrics have database metrics", func(t *testing.T) {
mainHelper.Parallel(t)
mockMetricsImpl := &mocks.MetricsInterface{}
mockMetricsImpl.On("Register").Return()
mockMetricsImpl.On("ObserveStoreMethodDuration", mock.Anything, mock.Anything, mock.Anything).Return()
@@ -198,6 +204,7 @@ func TestMetrics(t *testing.T) {
}
func TestShutdown(t *testing.T) {
mainHelper.Parallel(t)
t.Run("should shutdown gracefully", func(t *testing.T) {
th := Setup(t)
rand.Seed(time.Now().UnixNano())
@@ -219,6 +226,7 @@ func TestShutdown(t *testing.T) {
}
func TestSetTelemetryId(t *testing.T) {
mainHelper.Parallel(t)
t.Run("ensure client config is regenerated after setting the telemetry id", func(t *testing.T) {
th := Setup(t)
defer th.TearDown()
@@ -235,6 +243,7 @@ func TestSetTelemetryId(t *testing.T) {
}
func TestDatabaseTypeAndMattermostVersion(t *testing.T) {
mainHelper.Parallel(t)
th := Setup(t)
defer th.TearDown()