aboutsummaryrefslogtreecommitdiffhomepage
path: root/backend/game/hub.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/game/hub.go')
-rw-r--r--backend/game/hub.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/backend/game/hub.go b/backend/game/hub.go
index 8c0a574..3caa6d4 100644
--- a/backend/game/hub.go
+++ b/backend/game/hub.go
@@ -71,8 +71,8 @@ func (hub *Hub) EnqueueTestTasks(ctx context.Context, submissionID, gameID, user
submissionID,
int(row.TestcaseID),
language,
- code,
- row.Stdin,
+ normalizeCRLF(code),
+ normalizeCRLF(row.Stdin),
row.Stdout,
)
if err != nil {
@@ -175,9 +175,12 @@ func (hub *Hub) processTaskResultRunTestcase(
return nil
}
+func normalizeCRLF(s string) string {
+ return strings.ReplaceAll(strings.ReplaceAll(s, "\r\n", "\n"), "\r", "\n")
+}
+
func normalizeTestcaseResultOutput(s string) string {
- re := regexp.MustCompile(`\r\n|\r`)
- return re.ReplaceAllString(strings.TrimSpace(s), "\n")
+ return normalizeCRLF(strings.TrimSpace(s))
}
func isTestcaseResultCorrect(expectedStdout, actualStdout string) bool {