1. New build system
All checks were successful
build-dsl-smoke / Build judge (push) Successful in 12s
build-dsl-smoke / debug / clang / linux (push) Successful in 6s
build-dsl-smoke / debug / gcc / linux (push) Successful in 8s
build-dsl-smoke / release / clang / linux (push) Successful in 8s
build-dsl-smoke / release / gcc / linux (push) Successful in 6s
build-dsl-smoke / sanitized / clang / linux (push) Successful in 8s
build-dsl-smoke / sanitized / gcc / linux (push) Successful in 7s
build-dsl-smoke / debug / clang / windows (push) Successful in 13s
build-dsl-smoke / debug-valgrind / gcc / linux (push) Successful in 14s
build-dsl-smoke / release / clang / windows (push) Successful in 16s
build-dsl-smoke / debug / msvc / windows (push) Successful in 18s
build-dsl-smoke / release / msvc / windows (push) Successful in 17s
build-dsl-smoke / SUMMARY (push) Successful in 4s
Release / Build & publish (push) Successful in 48s
All checks were successful
build-dsl-smoke / Build judge (push) Successful in 12s
build-dsl-smoke / debug / clang / linux (push) Successful in 6s
build-dsl-smoke / debug / gcc / linux (push) Successful in 8s
build-dsl-smoke / release / clang / linux (push) Successful in 8s
build-dsl-smoke / release / gcc / linux (push) Successful in 6s
build-dsl-smoke / sanitized / clang / linux (push) Successful in 8s
build-dsl-smoke / sanitized / gcc / linux (push) Successful in 7s
build-dsl-smoke / debug / clang / windows (push) Successful in 13s
build-dsl-smoke / debug-valgrind / gcc / linux (push) Successful in 14s
build-dsl-smoke / release / clang / windows (push) Successful in 16s
build-dsl-smoke / debug / msvc / windows (push) Successful in 18s
build-dsl-smoke / release / msvc / windows (push) Successful in 17s
build-dsl-smoke / SUMMARY (push) Successful in 4s
Release / Build & publish (push) Successful in 48s
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
77
example/showcase/04-limits-scoring-env.jdg
Normal file
77
example/showcase/04-limits-scoring-env.jdg
Normal file
@@ -0,0 +1,77 @@
|
||||
// Тонкая настройка: timeout и memory_limit на разных уровнях (file → group
|
||||
// → test), режимы скоринга (partial / all_or_none), переменные окружения,
|
||||
// проверка exit code, передача аргументов.
|
||||
|
||||
toolchains {
|
||||
gcc { platforms = "linux" }
|
||||
}
|
||||
|
||||
build "release" {
|
||||
language = "c"
|
||||
standard = "c11"
|
||||
sources = "solution.c"
|
||||
output = "solution"
|
||||
profile = release
|
||||
}
|
||||
|
||||
// Глобальные дефолты. Применяются к каждому тесту, если тот не
|
||||
// переопределит у себя или на уровне группы.
|
||||
timeout 5s
|
||||
memory_limit = 256M
|
||||
normalize_crlf = true // стрип \r перед сравнением — полезно на Windows
|
||||
trim_trailing_ws = true // trim trailing space/tab на каждой строке
|
||||
|
||||
group("strict-subset") {
|
||||
weight = 0.4
|
||||
scoring = all_or_none // группа даёт weight или 0 — без частичного
|
||||
|
||||
// Эти дефолты применятся к каждому тесту группы.
|
||||
timeout = 2s
|
||||
memory_limit = 64M
|
||||
env("LC_ALL") = "C"
|
||||
env("LANG") = "C"
|
||||
|
||||
test("fast") {
|
||||
args = "--mode" "fast"
|
||||
stdout = "ok\n"
|
||||
}
|
||||
|
||||
test("strict-timeout") {
|
||||
timeout = 500ms // переопределяет group timeout
|
||||
stdout = "ok\n"
|
||||
}
|
||||
|
||||
test("high-memory") {
|
||||
memory_limit = 128M // переопределяет group memory_limit
|
||||
stdout = "ok\n"
|
||||
}
|
||||
|
||||
test("own-env") {
|
||||
env("FOO") = "bar" // добавляется к group env
|
||||
stdout = "ok\n"
|
||||
}
|
||||
}
|
||||
|
||||
group("partial-credit") {
|
||||
weight = 0.6
|
||||
scoring = partial // default: weight * passed/total
|
||||
|
||||
test("case-1") {
|
||||
stdin = "1\n"
|
||||
stdout = "1\n"
|
||||
exitCode = 0
|
||||
}
|
||||
|
||||
test("case-2") {
|
||||
stdin = "2\n"
|
||||
stdout = "4\n"
|
||||
exitCode = 0
|
||||
}
|
||||
|
||||
test("case-error") {
|
||||
// Программа ДОЛЖНА выйти с кодом 1 на плохом вводе.
|
||||
stdin = "abc\n"
|
||||
exitCode = 1
|
||||
stderr contains "invalid input"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user