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:
69
example/showcase/03-matchers.jdg
Normal file
69
example/showcase/03-matchers.jdg
Normal file
@@ -0,0 +1,69 @@
|
||||
// Все способы сматчить stdout/stderr: exact, contains, regex, anyOrder,
|
||||
// numeric-eps. Плюс случай, когда сравнение вывода вообще не нужно
|
||||
// (достаточно exitCode).
|
||||
|
||||
toolchains {
|
||||
gcc { platforms = "linux" }
|
||||
}
|
||||
|
||||
build "release" {
|
||||
language = "c"
|
||||
standard = "c11"
|
||||
sources = "solution.c"
|
||||
output = "solution"
|
||||
profile = release
|
||||
}
|
||||
|
||||
group("matchers") {
|
||||
weight = 1.0
|
||||
|
||||
// Точное совпадение (по умолчанию). Пробелы, переводы строк и
|
||||
// регистр важны. Нормализация CRLF / trim_ws настраивается на
|
||||
// уровне файла.
|
||||
test("exact") {
|
||||
stdin = "42\n"
|
||||
stdout = "42\n"
|
||||
}
|
||||
|
||||
// Подстрока в любом месте вывода.
|
||||
test("contains") {
|
||||
stdin = "log me\n"
|
||||
stdout contains "log me"
|
||||
}
|
||||
|
||||
// Регулярное выражение (Go regexp syntax).
|
||||
test("regex") {
|
||||
stdin = "7\n"
|
||||
stdout matches "^result:\\s+[0-9]+\\s*$"
|
||||
}
|
||||
|
||||
// Лайны могут прийти в любом порядке — полезно для stress-тестов
|
||||
// с параллельным выводом.
|
||||
test("any-order") {
|
||||
stdin = "start\n"
|
||||
stdout anyOrder {
|
||||
"alpha"
|
||||
"beta"
|
||||
"gamma"
|
||||
}
|
||||
}
|
||||
|
||||
// Числовое сравнение с epsilon — для задач с плавающей точкой.
|
||||
// Синтаксис: ~ <float> of "<ожидаемое значение как строка>"
|
||||
test("numeric") {
|
||||
stdin = "3.14159\n"
|
||||
stdout ~ 0.0001 of "3.14159\n"
|
||||
}
|
||||
|
||||
// Проверяем только stderr; stdout не трогаем вообще (NoMatcher).
|
||||
test("stderr-only") {
|
||||
args = "--version"
|
||||
stderr contains "version 1."
|
||||
}
|
||||
|
||||
// Никакого матчинга вывода — нас интересует только exit code.
|
||||
test("exit-code-only") {
|
||||
args = "--help"
|
||||
exitCode = 0
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user