๐Ÿ“ฆ BurntSushi / go-sumtype

๐Ÿ“„ help_test.go ยท 33 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33package main

import (
	"io/ioutil"
	"os"
	"path/filepath"
	"testing"

	"golang.org/x/tools/go/packages"
)

func setupPackages(t *testing.T, code string) (string, []*packages.Package) {
	tmpdir, err := ioutil.TempDir("", "go-test-sumtype-")
	if err != nil {
		t.Fatal(err)
	}
	srcPath := filepath.Join(tmpdir, "src.go")
	if err := ioutil.WriteFile(srcPath, []byte(code), 0666); err != nil {
		t.Fatal(err)
	}
	pkgs, err := tycheckAll([]string{srcPath})
	if err != nil {
		t.Fatal(err)
	}
	return tmpdir, pkgs
}

func teardownPackage(t *testing.T, dir string) {
	if err := os.RemoveAll(dir); err != nil {
		t.Fatal(err)
	}
}