From 465614d17beae3ba7dd497e1a042495f668d5ba8 Mon Sep 17 00:00:00 2001 From: Chris de Graaf Date: Sun, 1 Oct 2017 22:21:35 -0500 Subject: [PATCH] Organize interactive tests --- test/{ => interactive}/interactive.jl | 10 +++ test/interactive/plugins.jl | 88 +++++++++++++++++++++++++++ test/runtests.jl | 3 +- test/tests.jl | 8 ++- 4 files changed, 107 insertions(+), 2 deletions(-) rename test/{ => interactive}/interactive.jl (86%) create mode 100644 test/interactive/plugins.jl diff --git a/test/interactive.jl b/test/interactive/interactive.jl similarity index 86% rename from test/interactive.jl rename to test/interactive/interactive.jl index a5edf66..f3d69a6 100644 --- a/test/interactive.jl +++ b/test/interactive/interactive.jl @@ -37,6 +37,9 @@ # Like above, not sure which plugins this will generate. @test length(t.plugins) == 2 + write(STDIN.buffer, "$me\n\n\r\n\n\nA B\n A B\n\nd") + @test_warn r".+" interactive_template() + write(STDIN.buffer, "$me\nd") t = interactive_template(; fast=true) @test t.user == me @@ -52,3 +55,10 @@ @test isempty(t.plugins) println() end + +@testset "Interactive package generation" begin + write(STDIN.buffer, "$me\n\n\r\n\n\n\nd") + generate_interactive(test_pkg) + @test isdir(Pkg.dir(test_pkg)) + rm(Pkg.dir(test_pkg); force=true, recursive=true) +end diff --git a/test/interactive/plugins.jl b/test/interactive/plugins.jl new file mode 100644 index 0000000..26972f2 --- /dev/null +++ b/test/interactive/plugins.jl @@ -0,0 +1,88 @@ +@testset "TravisCI" begin + write(STDIN.buffer, "\n") + p = interactive(TravisCI) + @test get(p.src) == joinpath(DEFAULTS_DIR, "travis.yml") + write(STDIN.buffer, "$test_file\n") + p = interactive(TravisCI) + @test get(p.src) == test_file + write(STDIN.buffer, "none\n") + p = interactive(TravisCI) + @test isnull(p.src) + write(STDIN.buffer, "$fake_path\n") + @test_throws ArgumentError interactive(TravisCI) + println() +end + +@testset "AppVeyor" begin + write(STDIN.buffer, "\n") + p = interactive(AppVeyor) + @test get(p.src) == joinpath(DEFAULTS_DIR, "appveyor.yml") + write(STDIN.buffer, "$test_file\n") + p = interactive(AppVeyor) + @test get(p.src) == test_file + write(STDIN.buffer, "none\n") + p = interactive(AppVeyor) + @test isnull(p.src) + write(STDIN.buffer, "$fake_path\n") + @test_throws ArgumentError interactive(AppVeyor) + println() +end + +@testset "GitLabCI" begin + write(STDIN.buffer, "\n\n") + p = interactive(GitLabCI) + @test get(p.src) == joinpath(DEFAULTS_DIR, "gitlab-ci.yml") + @test p.view == Dict("GITLABCOVERAGE" => true) + write(STDIN.buffer, "$test_file\nno\n") + p = interactive(GitLabCI) + @test get(p.src) == test_file + @test p.view == Dict("GITLABCOVERAGE" => false) + write(STDIN.buffer, "none\n\n") + p = interactive(GitLabCI) + @test isnull(p.src) + write(STDIN.buffer, "$fake_path\n\n") + @test_throws ArgumentError interactive(GitLabCI) + println() +end + +@testset "CodeCov" begin + write(STDIN.buffer, "\n") + p = interactive(CodeCov) + @test get(p.src) == joinpath(DEFAULTS_DIR, "codecov.yml") + write(STDIN.buffer, "$test_file\n") + p = interactive(CodeCov) + @test get(p.src) == test_file + write(STDIN.buffer, "none\n") + p = interactive(CodeCov) + @test isnull(p.src) + write(STDIN.buffer, "$fake_path\n") + @test_throws ArgumentError interactive(CodeCov) + println() +end + +@testset "Coveralls" begin + write(STDIN.buffer, "\n") + p = interactive(Coveralls) + @test isnull(p.src) + write(STDIN.buffer, "$test_file\n") + p = interactive(Coveralls) + @test get(p.src) == test_file + write(STDIN.buffer, "none\n") + p = interactive(Coveralls) + @test isnull(p.src) + write(STDIN.buffer, "$fake_path\n") + @test_throws ArgumentError interactive(Coveralls) + println() +end + +@testset "GitHubPages" begin + write(STDIN.buffer, "\n") + p = interactive(GitHubPages) + @test isempty(p.assets) + write(STDIN.buffer, "$test_file\n") + p = interactive(GitHubPages) + @test p.assets == [test_file] + write(STDIN.buffer, "$fake_path\n") + @test_throws ArgumentError interactive(GitHubPages) + println() +end diff --git a/test/runtests.jl b/test/runtests.jl index 5e8deee..68f5f4f 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -3,7 +3,8 @@ using Base.Test import PkgTemplates: badges, version_floor, substitute, read_license, gen_file, gen_readme, gen_tests, gen_license, gen_require, gen_entrypoint, gen_gitignore, gen_plugin, - show_license, LICENSES, LICENSE_DIR, Plugin, GenericPlugin, CustomPlugin, Badge, format + show_license, LICENSES, LICENSE_DIR, Plugin, GenericPlugin, CustomPlugin, Badge, + format, interactive, DEFAULTS_DIR mktempdir() do temp_dir withenv("JULIA_PKGDIR" => temp_dir) do diff --git a/test/tests.jl b/test/tests.jl index b164a53..770db4f 100644 --- a/test/tests.jl +++ b/test/tests.jl @@ -114,8 +114,14 @@ write(test_file, template_text) end if get(ENV, "TRAVIS_OS_NAME", "") != "osx" - include("interactive.jl") + include(joinpath("interactive", "interactive.jl")) +else + info("Skipping tests that require TerminalMenus") end +@testset "Interactive plugin creation" begin + include(joinpath("interactive", "plugins.jl")) +end + @testset "File generation" begin t = Template(;