Skip to content

Commit 66a8a15

Browse files
restructure
1 parent 5b57a0e commit 66a8a15

16 files changed

+47
-42
lines changed

backend/cmd/setup_router.go renamed to backend/internal/api/setup_router.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cmd
1+
package api
22

33
import (
44
"net/http"

backend/cmd/setup_router_test.go renamed to backend/internal/api/setup_router_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
package cmd_test
1+
package api_test
22

33
import (
44
"net/http"
55
"net/http/httptest"
66
"testing"
77

8-
"github.com/markhuang1212/code-grader/backend/cmd"
8+
"github.com/markhuang1212/code-grader/backend/internal/api"
99
"github.com/stretchr/testify/assert"
1010
)
1111

1212
func TestPingRoute(t *testing.T) {
13-
router := cmd.SetupRouter()
13+
router := api.SetupRouter()
1414

1515
w := httptest.NewRecorder()
1616
req, _ := http.NewRequest("GET", "/ping", nil)

backend/cmd/compile_user_code.go renamed to backend/internal/grader/compile_user_code.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cmd
1+
package grader
22

33
import (
44
"context"
@@ -12,7 +12,8 @@ import (
1212
dockertypes "github.com/docker/docker/api/types"
1313
"github.com/docker/docker/api/types/container"
1414
"github.com/docker/docker/client"
15-
"github.com/markhuang1212/code-grader/backend/types"
15+
"github.com/markhuang1212/code-grader/backend/internal/types"
16+
1617
"github.com/pkg/errors"
1718
)
1819

backend/cmd/compile_user_code_test.go renamed to backend/internal/grader/compile_user_code_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package cmd_test
1+
package grader_test
22

33
import (
44
"context"
55
"io/ioutil"
66
"os"
77
"testing"
88

9-
"github.com/markhuang1212/code-grader/backend/cmd"
10-
"github.com/markhuang1212/code-grader/backend/types"
9+
"github.com/markhuang1212/code-grader/backend/internal/grader"
10+
"github.com/markhuang1212/code-grader/backend/internal/types"
1111
"github.com/stretchr/testify/assert"
1212
)
1313

@@ -26,7 +26,7 @@ func TestCompileUserCode1(t *testing.T) {
2626
UserCode: " ",
2727
}
2828

29-
result, err := cmd.CompileUserCode(ctx, gr1, tmpDir)
29+
result, err := grader.CompileUserCode(ctx, gr1, tmpDir)
3030
assert.Nil(t, err)
3131
assert.False(t, result.Ok)
3232
t.Log(result)
@@ -49,7 +49,7 @@ func TestCompileUserCode2(t *testing.T) {
4949
UserCode: "int main() { cout << \"Hello\" << endl; }",
5050
}
5151

52-
result, err := cmd.CompileUserCode(ctx, gr2, tmpDir)
52+
result, err := grader.CompileUserCode(ctx, gr2, tmpDir)
5353
assert.Nil(t, err)
5454
assert.True(t, result.Ok)
5555
t.Log(result)

backend/cmd/exec_user_code.go renamed to backend/internal/grader/exec_user_code.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cmd
1+
package grader
22

33
import (
44
"context"
@@ -14,7 +14,8 @@ import (
1414
"github.com/docker/docker/client"
1515
"github.com/pkg/errors"
1616

17-
"github.com/markhuang1212/code-grader/backend/types"
17+
"github.com/markhuang1212/code-grader/backend/internal/types"
18+
"github.com/markhuang1212/code-grader/backend/internal/util"
1819
)
1920

2021
const imageExec = "markhuang1212/code-grader/runtime-exec:latest"
@@ -37,7 +38,7 @@ func ExecUserCode(ctx context.Context, gr types.GradeRequest, tmpDir string) (*E
3738
return nil, types.ErrNoTestCase
3839
}
3940

40-
testcaseConfJson, err := os.ReadFile(filepath.Join(GetAppRoot(), "testcases", gr.TestCaseName, "testcase.json"))
41+
testcaseConfJson, err := os.ReadFile(filepath.Join(util.GetAppRoot(), "testcases", gr.TestCaseName, "testcase.json"))
4142
if err != nil {
4243
return nil, errors.Wrap(err, "cannot read testcase.json")
4344
}
@@ -67,6 +68,7 @@ func ExecUserCode(ctx context.Context, gr types.GradeRequest, tmpDir string) (*E
6768
Resources: container.Resources{
6869
Memory: int64(testcaseConf.RuntimeOptions.MemoryLimit) * 1024 * 1024,
6970
MemorySwap: int64(testcaseConf.RuntimeOptions.MemoryLimit) * 1024 * 1024,
71+
CPUQuota: 10000,
7072
},
7173
}, nil, nil, "")
7274
if err != nil {

backend/cmd/exec_user_code_test.go renamed to backend/internal/grader/exec_user_code_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
package cmd_test
1+
package grader_test
22

33
import (
44
"context"
55
"io/ioutil"
66
"os"
77
"testing"
88

9-
"github.com/markhuang1212/code-grader/backend/cmd"
10-
"github.com/markhuang1212/code-grader/backend/types"
9+
"github.com/markhuang1212/code-grader/backend/internal/grader"
10+
"github.com/markhuang1212/code-grader/backend/internal/types"
1111
"github.com/stretchr/testify/assert"
1212
)
1313

@@ -27,11 +27,11 @@ func TestExecUserCode1(t *testing.T) {
2727
UserCode: "int main() { cout << \"Hello\" << endl; }",
2828
}
2929

30-
cr, err := cmd.CompileUserCode(ctx, gr, tmpDir)
30+
cr, err := grader.CompileUserCode(ctx, gr, tmpDir)
3131
assert.Nil(t, err)
3232
assert.True(t, cr.Ok)
3333

34-
er, err := cmd.ExecUserCode(ctx, gr, tmpDir)
34+
er, err := grader.ExecUserCode(ctx, gr, tmpDir)
3535
assert.Nil(t, err)
3636
assert.True(t, er.Ok)
3737

@@ -53,11 +53,11 @@ func TestExecUserCode2(t *testing.T) {
5353
UserCode: "int main() { return 10; }",
5454
}
5555

56-
cr, err := cmd.CompileUserCode(ctx, gr, tmpDir)
56+
cr, err := grader.CompileUserCode(ctx, gr, tmpDir)
5757
assert.Nil(t, err)
5858
assert.True(t, cr.Ok)
5959

60-
er, err := cmd.ExecUserCode(ctx, gr, tmpDir)
60+
er, err := grader.ExecUserCode(ctx, gr, tmpDir)
6161
assert.Nil(t, err)
6262
assert.False(t, er.Ok)
6363
assert.True(t, er.ExecutionError)
@@ -80,11 +80,11 @@ func TestExecUserCode3(t *testing.T) {
8080
UserCode: "int main() { vector<int> data; while(1) { data.push_back(100); } }",
8181
}
8282

83-
cr, err := cmd.CompileUserCode(ctx, gr, tmpDir)
83+
cr, err := grader.CompileUserCode(ctx, gr, tmpDir)
8484
assert.Nil(t, err)
8585
assert.True(t, cr.Ok)
8686

87-
er, err := cmd.ExecUserCode(ctx, gr, tmpDir)
87+
er, err := grader.ExecUserCode(ctx, gr, tmpDir)
8888
assert.Nil(t, err)
8989
assert.False(t, er.Ok)
9090
assert.True(t, er.MemoryExceed)

backend/cmd/grade_user_code.go renamed to backend/internal/grader/grade_user_code.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package cmd
1+
package grader
22

33
import (
44
"context"
55
"io/ioutil"
66
"os"
77

8-
"github.com/markhuang1212/code-grader/backend/types"
8+
"github.com/markhuang1212/code-grader/backend/internal/types"
99
"github.com/pkg/errors"
1010
)
1111

backend/cmd/grade_user_code_test.go renamed to backend/internal/grader/grade_user_code_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package cmd_test
1+
package grader_test
22

33
import (
44
"context"
55
"testing"
66

7-
"github.com/markhuang1212/code-grader/backend/cmd"
8-
"github.com/markhuang1212/code-grader/backend/types"
7+
"github.com/markhuang1212/code-grader/backend/internal/grader"
8+
"github.com/markhuang1212/code-grader/backend/internal/types"
99
"github.com/stretchr/testify/assert"
1010
)
1111

@@ -16,7 +16,7 @@ func TestGradeUserCode1(t *testing.T) {
1616
TestCaseName: "example-1",
1717
UserCode: "int main() { cout << \"Hello\" << endl; }",
1818
}
19-
result, err := cmd.GradeUserCode(ctx, gr)
19+
result, err := grader.GradeUserCode(ctx, gr)
2020
assert.Nil(t, err)
2121
assert.Equal(t, types.GradeResultSuccess, result.Status)
2222
}
@@ -28,7 +28,7 @@ func TestGradeUserCode2(t *testing.T) {
2828
TestCaseName: "example-1",
2929
UserCode: "int main() { cout << \"Helloooo\" << endl; }",
3030
}
31-
result, err := cmd.GradeUserCode(ctx, gr)
31+
result, err := grader.GradeUserCode(ctx, gr)
3232
assert.Nil(t, err)
3333
assert.Equal(t, types.GradeResultWrongAnswer, result.Status)
3434
}
@@ -40,7 +40,7 @@ func TestGradeUserCode3(t *testing.T) {
4040
TestCaseName: "example-1",
4141
UserCode: "int main() { while (1) { } }",
4242
}
43-
result, err := cmd.GradeUserCode(ctx, gr)
43+
result, err := grader.GradeUserCode(ctx, gr)
4444
assert.Nil(t, err)
4545
assert.Equal(t, types.GradeResultTimeLimitExceed, result.Status)
4646
}
@@ -52,7 +52,7 @@ func TestGradeUserCode4(t *testing.T) {
5252
TestCaseName: "example-1",
5353
UserCode: "int main() { vector<int> data; while (1) { data.push_back(1024); } }",
5454
}
55-
result, err := cmd.GradeUserCode(ctx, gr)
55+
result, err := grader.GradeUserCode(ctx, gr)
5656
assert.Nil(t, err)
5757
assert.Equal(t, types.GradeResultMemoryExceed, result.Status)
5858
}

backend/cmd/load_testcases.go renamed to backend/internal/grader/load_testcases.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
package cmd
1+
package grader
22

33
import (
44
"log"
55
"os"
66
"path/filepath"
77
"sort"
8+
9+
"github.com/markhuang1212/code-grader/backend/internal/util"
810
)
911

1012
var testcases []string
@@ -14,7 +16,7 @@ func LoadTestcases() []string {
1416

1517
if testcases == nil {
1618

17-
dir := filepath.Join(GetAppRoot(), "testcases")
19+
dir := filepath.Join(util.GetAppRoot(), "testcases")
1820
ret, err := os.ReadDir(dir)
1921

2022
if err != nil {
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
package cmd_test
1+
package grader_test
22

33
import (
44
"testing"
55

6-
"github.com/markhuang1212/code-grader/backend/cmd"
6+
"github.com/markhuang1212/code-grader/backend/internal/grader"
77
"github.com/stretchr/testify/assert"
88
)
99

1010
func TestLoadTestcases(t *testing.T) {
11-
ret := cmd.LoadTestcases()
11+
ret := grader.LoadTestcases()
1212
for _, v := range ret {
1313
if v == "example-1" {
1414
return
@@ -18,6 +18,6 @@ func TestLoadTestcases(t *testing.T) {
1818
}
1919

2020
func TestIsTestcase(t *testing.T) {
21-
ret := cmd.IsTestcase("example-1")
21+
ret := grader.IsTestcase("example-1")
2222
assert.True(t, ret)
2323
}

0 commit comments

Comments
 (0)