github.com/phobos182/packer@v0.2.3-0.20130819023704-c84d2aeffc68/packer/plugin/builder_test.go (about)

     1  package plugin
     2  
     3  import (
     4  	"github.com/mitchellh/packer/packer"
     5  	"os/exec"
     6  	"testing"
     7  )
     8  
     9  type helperBuilder byte
    10  
    11  func (helperBuilder) Prepare(...interface{}) error {
    12  	return nil
    13  }
    14  
    15  func (helperBuilder) Run(packer.Ui, packer.Hook, packer.Cache) (packer.Artifact, error) {
    16  	return nil, nil
    17  }
    18  
    19  func (helperBuilder) Cancel() {}
    20  
    21  func TestBuilder_NoExist(t *testing.T) {
    22  	c := NewClient(&ClientConfig{Cmd: exec.Command("i-should-not-exist")})
    23  	defer c.Kill()
    24  
    25  	_, err := c.Builder()
    26  	if err == nil {
    27  		t.Fatal("should have error")
    28  	}
    29  }
    30  
    31  func TestBuilder_Good(t *testing.T) {
    32  	c := NewClient(&ClientConfig{Cmd: helperProcess("builder")})
    33  	defer c.Kill()
    34  
    35  	_, err := c.Builder()
    36  	if err != nil {
    37  		t.Fatalf("should not have error: %s", err)
    38  	}
    39  }