github.com/benma/gogen@v0.0.0-20160826115606-cf49914b915a/specific/process_test.go (about)

     1  package specific
     2  
     3  import (
     4  	"fmt"
     5  	"io/ioutil"
     6  	"os"
     7  	"os/exec"
     8  	"testing"
     9  )
    10  
    11  func TestProcessContainerRingBuildsWithString(t *testing.T) {
    12  	out, err := ioutil.TempDir("", "container-ring")
    13  	if err != nil {
    14  		t.Fatal(err)
    15  	}
    16  	defer os.Remove(out)
    17  
    18  	Process("container/ring", out, "string", func(opts *Options) {
    19  		opts.SkipTestFiles = true
    20  	})
    21  
    22  	if err := build(out); err != nil {
    23  		t.Fatalf("failed to build resulting package\n%s", err.Error())
    24  	}
    25  }
    26  
    27  func TestProcessContainerRingBuildsWithOsFile(t *testing.T) {
    28  	out, err := ioutil.TempDir("", "container-ring")
    29  	if err != nil {
    30  		t.Fatal(err)
    31  	}
    32  	defer os.Remove(out)
    33  
    34  	Process("container/ring", out, "*os.File", func(opts *Options) {
    35  		opts.SkipTestFiles = true
    36  	})
    37  
    38  	if err := build(out); err != nil {
    39  		t.Fatalf("failed to build resulting package\n%s", err.Error())
    40  	}
    41  }
    42  
    43  func TestProcessContainerList(t *testing.T) {
    44  	out, err := ioutil.TempDir("", "container-list")
    45  	if err != nil {
    46  		t.Fatal(err)
    47  	}
    48  	defer os.Remove(out)
    49  
    50  	Process("container/list", out, "string", func(opts *Options) {
    51  		opts.SkipTestFiles = true
    52  	})
    53  
    54  	if err := build(out); err != nil {
    55  		t.Fatalf("failed to build resulting package\n%s", err.Error())
    56  	}
    57  }
    58  
    59  func TestProcessTestPkg(t *testing.T) {
    60  	out, err := ioutil.TempDir("", "testpkg")
    61  	if err != nil {
    62  		t.Fatal(err)
    63  	}
    64  	defer os.Remove(out)
    65  
    66  	Process("github.com/ernesto-jimenez/gogen/specific/_testpkg", out, "string", func(opts *Options) {
    67  		opts.SkipTestFiles = true
    68  	})
    69  
    70  	if err := build(out); err != nil {
    71  		t.Fatalf("failed to build resulting package\n%s", err.Error())
    72  	}
    73  }
    74  
    75  func build(dir string) error {
    76  	os.Chdir(dir)
    77  	cmd := exec.Command("go", "build")
    78  	out, err := cmd.CombinedOutput()
    79  	if err != nil {
    80  		return fmt.Errorf("%s\n%s", err.Error(), out)
    81  	}
    82  	return nil
    83  }