@@ -38,13 +38,9 @@ const (
3838
3939type mysqlVersions []mysqlVersion
4040
41- var (
42- defaultMySQLVersions = []mysqlVersion {defaultMySQLVersion }
43- )
41+ var defaultMySQLVersions = []mysqlVersion {defaultMySQLVersion }
4442
45- var (
46- unitTestDatabases = []mysqlVersion {mysql57 , mysql80 , mysql84 }
47- )
43+ var unitTestDatabases = []mysqlVersion {mysql57 , mysql80 , mysql84 }
4844
4945const (
5046 oracleCloudRunner = "oracle-16cpu-64gb-x86-64"
@@ -180,6 +176,7 @@ var (
180176
181177type unitTest struct {
182178 Name , RunsOn , Platform , FileName , GoPrivate , Evalengine string
179+ Race bool
183180}
184181
185182type clusterTest struct {
@@ -374,6 +371,24 @@ func generateUnitTestWorkflows() {
374371 }
375372 }
376373 }
374+
375+ // Generate unit tests with race detection
376+ for _ , evalengine := range []string {"1" , "0" } {
377+ raceTest := & unitTest {
378+ Name : fmt .Sprintf ("Unit Test (%sRace)" , evalengineToRaceNamePrefix (evalengine )),
379+ RunsOn : cores16RunnerName ,
380+ Platform : string (mysql80 ),
381+ GoPrivate : goPrivate ,
382+ Evalengine : evalengine ,
383+ Race : true ,
384+ }
385+ raceTest .FileName = fmt .Sprintf ("unit_race%s.yml" , evalengineToFileSuffix (evalengine ))
386+ path := fmt .Sprintf ("%s/%s" , workflowConfigDir , raceTest .FileName )
387+ err := writeFileFromTemplate (unitTestTemplate , path , raceTest )
388+ if err != nil {
389+ log .Print (err )
390+ }
391+ }
377392}
378393
379394func evalengineToString (evalengine string ) string {
@@ -383,6 +398,27 @@ func evalengineToString(evalengine string) string {
383398 return ""
384399}
385400
401+ func evalengineToNameSuffix (evalengine string ) string {
402+ if evalengine == "1" {
403+ return " evalengine"
404+ }
405+ return ""
406+ }
407+
408+ func evalengineToRaceNamePrefix (evalengine string ) string {
409+ if evalengine == "1" {
410+ return "Evalengine_"
411+ }
412+ return ""
413+ }
414+
415+ func evalengineToFileSuffix (evalengine string ) string {
416+ if evalengine == "1" {
417+ return "_evalengine"
418+ }
419+ return ""
420+ }
421+
386422func writeFileFromTemplate (templateFile , filePath string , test any ) error {
387423 tpl := template .New (path .Base (templateFile ))
388424 tpl .Funcs (template.FuncMap {
0 commit comments