gr: suppress default output in CI or Jupyter mode

_update_min_padding() is called before the backend is "started".
In GR, this triggers an automatic initialization and starts the
default output driver (X11, Quartz or GDI). This doesn't make
sense in headless testing environments (CI) or when using Plots
in Jupyter notebooks.

These patches correct this behavour - but it's unclear (to me),
why the call of _update_min_padding() can't be postponed.
This commit is contained in:
Josef Heinen 2017-08-30 09:59:23 +02:00
parent de32b02c75
commit 8beee23e21
2 changed files with 4 additions and 0 deletions

View File

@ -580,6 +580,9 @@ function gr_get_ticks_size(ticks, i)
end
function _update_min_padding!(sp::Subplot{GRBackend})
if !haskey(ENV, "GKSwstype") && isijulia()
ENV["GKSwstype"] = "svg"
end
# Add margin given by the user
leftpad = 2mm + sp[:left_margin]
toppad = 2mm + sp[:top_margin]

View File

@ -8,6 +8,7 @@ default(show=false, reuse=true)
img_eps = isinteractive() ? 1e-2 : 10e-2
@testset "GR" begin
ENV["GKSwstype"] = "100"
@test gr() == Plots.GRBackend()
@test backend() == Plots.GRBackend()