diff --git a/magefile.go b/magefile.go index abdd325fe..cbb78f1e7 100644 --- a/magefile.go +++ b/magefile.go @@ -55,7 +55,6 @@ var ( Version = "unstable" // This holds the built version, unstable by default, when building from a tag or release branch, their name BinLocation = "" PkgVersion = "unstable" - ApiPackages = []string{} // Aliases are mage aliases of targets Aliases = map[string]interface{}{ @@ -166,19 +165,6 @@ func setExecutable() { } } -func setApiPackages() { - pkgs, err := runCmdWithOutput("go", "list", "all") - if err != nil { - fmt.Printf("Error getting packages: %s\n", err) - os.Exit(1) - } - for _, p := range strings.Split(string(pkgs), "\n") { - if strings.Contains(p, "code.vikunja.io/api") && !strings.Contains(p, "code.vikunja.io/api/pkg/webtests") { - ApiPackages = append(ApiPackages, p) - } - } -} - // Some variables can always get initialized, so we do just that. func init() { setExecutable() @@ -355,10 +341,8 @@ type Test mg.Namespace // Feature runs the feature tests func (Test) Feature() error { mg.Deps(initVars) - setApiPackages() // We run everything sequentially and not in parallel to prevent issues with real test databases - args := append([]string{"test", goDetectVerboseFlag(), "-p", "1", "-coverprofile", "cover.out", "-timeout", "45m"}, ApiPackages...) - return runAndStreamOutput("go", args...) + return runAndStreamOutput("go", "test", goDetectVerboseFlag(), "-p", "1", "-coverprofile", "cover.out", "-timeout", "45m", "-short", "./...") } // Coverage runs the tests and builds the coverage html file from coverage output @@ -372,16 +356,14 @@ func (Test) Coverage() error { func (Test) Web() error { mg.Deps(initVars) // We run everything sequentially and not in parallel to prevent issues with real test databases - args := []string{"test", goDetectVerboseFlag(), "-p", "1", "-timeout", "45m", PACKAGE + "/pkg/webtests"} + args := []string{"test", goDetectVerboseFlag(), "-p", "1", "-timeout", "45m", "./pkg/webtests"} return runAndStreamOutput("go", args...) } func (Test) Filter(filter string) error { mg.Deps(initVars) - setApiPackages() // We run everything sequentially and not in parallel to prevent issues with real test databases - args := append([]string{"test", goDetectVerboseFlag(), "-p", "1", "-timeout", "45m", "-run", filter}, ApiPackages...) - return runAndStreamOutput("go", args...) + return runAndStreamOutput("go", "test", goDetectVerboseFlag(), "-p", "1", "-timeout", "45m", "-run", filter, "-short", "./...") } func (Test) All() { diff --git a/pkg/webtests/main_test.go b/pkg/webtests/main_test.go new file mode 100644 index 000000000..cf9b65983 --- /dev/null +++ b/pkg/webtests/main_test.go @@ -0,0 +1,32 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package webtests + +import ( + "flag" + "os" + "testing" +) + +func TestMain(m *testing.M) { + flag.Parse() + if testing.Short() { + println("-short requested, skipping long-running web tests") + return + } + os.Exit(m.Run()) +}