github.com/meulengracht/snapd@v0.0.0-20210719210640-8bde69bcc84e/testutil/testutil_test.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 3 /* 4 * Copyright (C) 2015-2018 Canonical Ltd 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 3 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package testutil_test 21 22 import ( 23 "reflect" 24 "testing" 25 26 "gopkg.in/check.v1" 27 ) 28 29 func Test(t *testing.T) { 30 check.TestingT(t) 31 } 32 33 func testInfo(c *check.C, checker check.Checker, name string, paramNames []string) { 34 info := checker.Info() 35 if info.Name != name { 36 c.Fatalf("Got name %s, expected %s", info.Name, name) 37 } 38 if !reflect.DeepEqual(info.Params, paramNames) { 39 c.Fatalf("Got param names %#v, expected %#v", info.Params, paramNames) 40 } 41 } 42 43 func testCheck(c *check.C, checker check.Checker, result bool, error string, params ...interface{}) ([]interface{}, []string) { 44 info := checker.Info() 45 if len(params) != len(info.Params) { 46 c.Fatalf("unexpected param count in test; expected %d got %d", len(info.Params), len(params)) 47 } 48 names := append([]string{}, info.Params...) 49 resultActual, errorActual := checker.Check(params, names) 50 if resultActual != result || errorActual != error { 51 c.Fatalf("%s.Check(%#v) returned (%#v, %#v) rather than (%#v, %#v)", 52 info.Name, params, resultActual, errorActual, result, error) 53 } 54 return params, names 55 }