Julia: 0.5 `@test_skip`์œผ๋กœ ์ธํ•ด CI๊ฐ€ ์‹คํŒจํ•จ

์— ๋งŒ๋“  2017๋…„ 03์›” 13์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: JuliaLang/julia

https://discourse.julialang.org/t/how-to-use-test-skip-properly/2628์— ๋”ฐ๋ผ

๋‹ค์Œ ์ฝ”๋“œ๋Š” @test_skip ๊ฐ€ CI ์„ฑ๊ณต/์‹คํŒจ์— ๊ธฐ์—ฌํ•˜์ง€ ์•Š์•„๋„ CI ์‹คํŒจ๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

using LightGraphs
using LightGraphs.LinAlg
using Base.Test

<strong i="9">@testset</strong> "foo" begin
<strong i="10">@test_skip</strong> 1 == 2
end

์ˆ˜์ต๋ฅ 

julia> Pkg.test("LightGraphs")
INFO: Testing LightGraphs
Test Summary: | Broken  Total
  foo         |      1      1
ERROR: LoadError: Some tests did not pass: 0 passed, 0 failed, 0 errored, 1 broken.

CI ์‹คํŒจ๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋ถ„๋ช…ํžˆ 0.6์—์„œ ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ์•„์ง ํ™•์ธํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

bug testsystem

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

0.5.2์—์„œ ์ˆ˜์ •๋˜์—ˆ์œผ๋ฉฐ ๊ณง ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋˜๊ณ  ์—…๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

Bisect๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 8982605c1998์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ณ‘ํ•ฉํ•œ ํ•ด๋‹น PR ๋ฒ„์ „์ด bisect-clean ๋ฒ„์ „์ด์–ด์„œ ๊ธฐ์ฉ๋‹ˆ๋‹ค.

๊ทธ ์ปค๋ฐ‹์€ ๋ฐฑํฌํŠธํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด ํฌ๊ณ  ๋ฐฉํ•ด๊ฐ€ ๋˜์ง€๋งŒ, ์ด ์ปค๋ฐ‹์˜ ์ž‘์€ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์€ ์ด ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์„ธํŠธ์˜ ์„ฑ๊ณต ๋˜๋Š” ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ๊ณ ์žฅ๋‚œ ํ…Œ์ŠคํŠธ์˜ ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ @test_broken . ๋‹ค์Œ์€ 0.5.2๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

using Base.Test

if VERSION < v"0.6-"
    # Override Test.<strong i="7">@test_broken</strong>, which is broken on julia-0.5!
    # See https://github.com/JuliaLang/julia/issues/21008
    macro test_broken(exs...)
        esc(:(<strong i="8">@test</strong> !($(exs...))))
    end
end

0.5.2์—์„œ ์ˆ˜์ •๋˜์—ˆ์œผ๋ฉฐ ๊ณง ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋˜๊ณ  ์—…๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰