diff --git a/main_test.go b/main_test.go index 9515a15..9db8cd6 100644 --- a/main_test.go +++ b/main_test.go @@ -98,35 +98,6 @@ type pkg struct { want []byte } -func testPkg(t *testing.T, table pkg) { - backends := table.lang - if backends == nil { - backends = []string{"py2"} - } - for _, be := range backends { - if _, ok := testBackends[be]; !ok { - // backend not available. - continue - } - switch be { - case "py2": - testPkgBackend(t, be, "python2", table) - case "py2-cffi": - testPkgBackend(t, "cffi", "python2", table) - case "py3": - testPkgBackend(t, be, "python3", table) - case "py3-cffi": - testPkgBackend(t, "cffi", "python3", table) - case "pypy2-cffi": - testPkgBackend(t, "cffi", "pypy", table) - case "pypy3-cffi": - testPkgBackend(t, "cffi", "pypy3", table) - default: - t.Errorf("invalid backend name %q", be) - } - } -} - func testPkgBackend(t *testing.T, lang, pycmd string, table pkg) { workdir, err := ioutil.TempDir("", "gopy-") if err != nil { diff --git a/zsupport_go16_test.go b/zsupport_go16_test.go new file mode 100644 index 0000000..33bfbf5 --- /dev/null +++ b/zsupport_go16_test.go @@ -0,0 +1,38 @@ +// Copyright 2017 The go-python Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !go1.7 + +package main + +import "testing" + +func testPkg(t *testing.T, table pkg) { + backends := table.lang + if backends == nil { + backends = []string{"py2"} + } + for _, be := range backends { + if _, ok := testBackends[be]; !ok { + // backend not available. + continue + } + switch be { + case "py2": + testPkgBackend(t, be, "python2", table) + case "py2-cffi": + testPkgBackend(t, "cffi", "python2", table) + case "py3": + testPkgBackend(t, be, "python3", table) + case "py3-cffi": + testPkgBackend(t, "cffi", "python3", table) + case "pypy2-cffi": + testPkgBackend(t, "cffi", "pypy", table) + case "pypy3-cffi": + testPkgBackend(t, "cffi", "pypy3", table) + default: + t.Errorf("invalid backend name %q", be) + } + } +} diff --git a/zsupport_test.go b/zsupport_test.go new file mode 100644 index 0000000..3a58936 --- /dev/null +++ b/zsupport_test.go @@ -0,0 +1,58 @@ +// Copyright 2017 The go-python Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.7 + +package main + +import ( + "testing" +) + +func testPkg(t *testing.T, table pkg) { + backends := table.lang + if backends == nil { + backends = []string{"py2"} + } + for _, be := range backends { + if _, ok := testBackends[be]; !ok { + // backend not available. + continue + } + switch be { + case "py2": + t.Run("py2-python2", func(t *testing.T) { + t.Parallel() + testPkgBackend(t, "py2", "python2", table) + }) + case "py2-cffi": + t.Run(be, func(t *testing.T) { + t.Parallel() + testPkgBackend(t, "cffi", "python2", table) + }) + case "py3": + t.Run(be, func(t *testing.T) { + t.Parallel() + testPkgBackend(t, be, "python3", table) + }) + case "py3-cffi": + t.Run(be, func(t *testing.T) { + t.Parallel() + testPkgBackend(t, "cffi", "python3", table) + }) + case "pypy2-cffi": + t.Run(be, func(t *testing.T) { + t.Parallel() + testPkgBackend(t, "cffi", "pypy", table) + }) + case "pypy3-cffi": + t.Run(be, func(t *testing.T) { + t.Parallel() + testPkgBackend(t, "cffi", "pypy3", table) + }) + default: + t.Errorf("invalid backend name %q", be) + } + } +}