Merge pull request #2836 from daschw/windows-tests

Make tests pass on windows julia 1.3
This commit is contained in:
Daniel Schwabeneder 2020-07-01 12:07:20 +02:00 committed by GitHub
commit c3fa7c8941
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 21 deletions

View File

@ -16,7 +16,7 @@ jobs:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} name: Julia ${{ matrix.version }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.version == 'nightly' || (matrix.version == '1.3' && matrix.os == 'windows-latest')}} continue-on-error: ${{ matrix.version == 'nightly' }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:

View File

@ -16,14 +16,21 @@ function fix_rand!(ex)
pushfirst!(ex.args[1].args, :(rng = StableRNG(1234))) pushfirst!(ex.args[1].args, :(rng = StableRNG(1234)))
end end
function image_comparison_tests(pkg::Symbol, idx::Int; debug = false, popup = !is_ci(), sigma = [1,1], tol = 1e-2) function image_comparison_tests(
pkg::Symbol,
idx::Int;
debug = false,
popup = !is_ci(),
sigma = [1, 1],
tol = 1e-2,
)
Plots._debugMode.on = debug Plots._debugMode.on = debug
example = Plots._examples[idx] example = Plots._examples[idx]
Plots.theme(:default) Plots.theme(:default)
@info("Testing plot: $pkg:$idx:$(example.header)") @info("Testing plot: $pkg:$idx:$(example.header)")
backend(pkg) backend(pkg)
backend() backend()
default(size=(500,300)) default(size = (500, 300))
fn = "ref$idx.png" fn = "ref$idx.png"
reffn = reference_file(pkg, idx, _current_plots_version) reffn = reference_file(pkg, idx, _current_plots_version)
@ -40,19 +47,22 @@ function image_comparison_tests(pkg::Symbol, idx::Int; debug = false, popup = !i
# the test # the test
vtest = VisualTest(func, reffn, idx) vtest = VisualTest(func, reffn, idx)
test_images(vtest, popup=popup, sigma=sigma, tol=tol, newfn = newfn) test_images(vtest, popup = popup, sigma = sigma, tol = tol, newfn = newfn)
end end
function image_comparison_facts(pkg::Symbol; function image_comparison_facts(
pkg::Symbol;
skip = [], # skip these examples (int index) skip = [], # skip these examples (int index)
only = nothing, # limit to these examples (int index) only = nothing, # limit to these examples (int index)
debug = false, # print debug information? debug = false, # print debug information?
sigma = [1,1], # number of pixels to "blur" sigma = [1, 1], # number of pixels to "blur"
tol = 1e-2) # acceptable error (percent) tol = 1e-2,
for i in 1:length(Plots._examples) ) # acceptable error (percent)
for i = 1:length(Plots._examples)
i in skip && continue i in skip && continue
if only === nothing || i in only if only === nothing || i in only
@test image_comparison_tests(pkg, i, debug=debug, sigma=sigma, tol=tol) |> success == true @test image_comparison_tests(pkg, i, debug = debug, sigma = sigma, tol = tol) |>
success == true
end end
end end
end end

View File

@ -45,27 +45,27 @@ include("imgcomp.jl")
Random.seed!(1234) Random.seed!(1234)
default(show=false, reuse=true) default(show=false, reuse=true)
is_ci() = get(ENV, "CI", "false") == "true" is_ci() = get(ENV, "CI", "false") == "true"
img_tol = is_ci() ? 1e-2 : Sys.islinux() ? 1e-3 : 0.1 const IMG_TOL = VERSION < v"1.4" && Sys.iswindows() ? 1e-1 : is_ci() ? 1e-2 : 1e-3
## Uncomment the following lines to update reference images for different backends ## Uncomment the following lines to update reference images for different backends
# @testset "GR" begin # @testset "GR" begin
# image_comparison_facts(:gr, tol=img_tol, skip = Plots._backend_skips[:gr]) # image_comparison_facts(:gr, tol=IMG_TOL, skip = Plots._backend_skips[:gr])
# end # end
# #
# plotly() # plotly()
# @testset "Plotly" begin # @testset "Plotly" begin
# image_comparison_facts(:plotly, tol=img_tol, skip = Plots._backend_skips[:plotlyjs]) # image_comparison_facts(:plotly, tol=IMG_TOL, skip = Plots._backend_skips[:plotlyjs])
# end # end
# #
# pyplot() # pyplot()
# @testset "PyPlot" begin # @testset "PyPlot" begin
# image_comparison_facts(:pyplot, tol=img_tol, skip = Plots._backend_skips[:pyplot]) # image_comparison_facts(:pyplot, tol=IMG_TOL, skip = Plots._backend_skips[:pyplot])
# end # end
# #
# pgfplotsx() # pgfplotsx()
# @testset "PGFPlotsX" begin # @testset "PGFPlotsX" begin
# image_comparison_facts(:pgfplotsx, tol=img_tol, skip = Plots._backend_skips[:pgfplotsx]) # image_comparison_facts(:pgfplotsx, tol=IMG_TOL, skip = Plots._backend_skips[:pgfplotsx])
# end # end
# 10 Histogram2D # 10 Histogram2D
@ -83,7 +83,7 @@ img_tol = is_ci() ? 1e-2 : Sys.islinux() ? 1e-3 : 0.1
@static if haskey(ENV, "APPVEYOR") @static if haskey(ENV, "APPVEYOR")
@info "Skipping GR image comparison tests on AppVeyor" @info "Skipping GR image comparison tests on AppVeyor"
else else
image_comparison_facts(:gr, tol=img_tol, skip = Plots._backend_skips[:gr]) image_comparison_facts(:gr, tol=IMG_TOL, skip = Plots._backend_skips[:gr])
end end
end end