Skip to content

Commit 542d95f

Browse files
committed
some rudimentary tests
1 parent b0470ba commit 542d95f

File tree

2 files changed

+79
-0
lines changed

2 files changed

+79
-0
lines changed

appveyor.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
environment:
2+
matrix:
3+
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.5/julia-0.5-latest-win32.exe"
4+
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.5/julia-0.5-latest-win64.exe"
5+
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe"
6+
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe"
7+
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
8+
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
9+
10+
branches:
11+
only:
12+
- master
13+
- /release-.*/
14+
15+
notifications:
16+
- provider: Email
17+
on_build_success: false
18+
on_build_failure: false
19+
on_build_status_changed: false
20+
21+
install:
22+
- ps: "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12"
23+
# if there's a newer build queued for the same PR, cancel this one
24+
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
25+
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
26+
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
27+
throw "There are newer queued builds for this pull request, failing early." }
28+
# Download most recent Julia Windows binary
29+
- ps: (new-object net.webclient).DownloadFile(
30+
$env:JULIA_URL,
31+
"C:\projects\julia-binary.exe")
32+
# Run installer silently, output to C:\projects\julia
33+
- C:\projects\julia-binary.exe /S /D=C:\projects\julia
34+
35+
build_script:
36+
# Need to convert from shallow to complete for Pkg.clone to work
37+
- IF EXIST .git\shallow (git fetch --unshallow)
38+
- C:\projects\julia\bin\julia -e "versioninfo();
39+
Pkg.clone(pwd(), \"PyPlot\"); Pkg.build(\"PyPlot\")"
40+
41+
test_script:
42+
- C:\projects\julia\bin\julia --check-bounds=yes -e "Pkg.test(\"PyPlot\")"

test/runtests.jl

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
ENV["MPLBACKEND"]="agg" # no GUI
2+
3+
using PyPlot, PyCall
4+
5+
if isdefined(Base, :Test) && !Base.isdeprecated(Base, :Test)
6+
using Base.Test
7+
else
8+
using Test
9+
end
10+
11+
plot(1:5, 2:6, "ro-")
12+
13+
line = gca()[:lines][1]
14+
@test line[:get_xdata]() == [1:5;]
15+
@test line[:get_ydata]() == [2:6;]
16+
17+
fig = gcf()
18+
@test isa(fig, PyPlot.Figure)
19+
@test fig[:get_size_inches]() [6.4, 4.8]
20+
21+
s = stringmime("application/postscript", fig);
22+
m = match(r"%%BoundingBox: *([0-9]+) +([0-9]+) +([0-9]+) +([0-9]+)", s)
23+
@test m !== nothing
24+
boundingbox = map(s -> parse(Int, s), m.captures)
25+
info("got plot bounding box ", boundingbox)
26+
@test all([300, 200] .< boundingbox[3:4] - boundingbox[1:2] .< [450,350])
27+
28+
c = get_cmap("viridis")
29+
a = linspace(0,1,5)
30+
rgba = pycall(pycall(PyPlot.ScalarMappable, PyObject, cmap=c,
31+
norm=PyPlot.Normalize01)["to_rgba"], PyArray, a)
32+
@test rgba [ 0.267004 0.004874 0.329415 1.0
33+
0.229739 0.322361 0.545706 1.0
34+
0.127568 0.566949 0.550556 1.0
35+
0.369214 0.788888 0.382914 1.0
36+
0.993248 0.906157 0.143936 1.0 ]
37+

0 commit comments

Comments
 (0)