Added file with correct line endings
When dealing with windows the file url format is file:///c:/ On windows a lot of git clients will convert LF to CRLF. This would be a problem where file contents are compared exactly
This commit is contained in:
parent
807d7eaced
commit
e5510873bb
|
@ -120,7 +120,7 @@ func TestDownloadableURL_FilePaths(t *testing.T) {
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// Test some cases with and without a schema prefix
|
// Test some cases with and without a schema prefix
|
||||||
for _, prefix := range []string{"", "file://"} {
|
for _, prefix := range []string{"", filePrefix} {
|
||||||
// Nonexistent file
|
// Nonexistent file
|
||||||
_, err = DownloadableURL(prefix + "i/dont/exist")
|
_, err = DownloadableURL(prefix + "i/dont/exist")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -56,6 +57,7 @@ func TestDownloadClient_basic(t *testing.T) {
|
||||||
Url: ts.URL + "/basic.txt",
|
Url: ts.URL + "/basic.txt",
|
||||||
TargetPath: tf.Name(),
|
TargetPath: tf.Name(),
|
||||||
})
|
})
|
||||||
|
|
||||||
path, err := client.Get()
|
path, err := client.Get()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
t.Fatalf("err: %s", err)
|
||||||
|
@ -352,7 +354,13 @@ func TestDownloadFileUrl(t *testing.T) {
|
||||||
|
|
||||||
// source_path is a file path and source is a network path
|
// source_path is a file path and source is a network path
|
||||||
sourcePath := fmt.Sprintf("%s/test-fixtures/fileurl/%s", cwd, "cake")
|
sourcePath := fmt.Sprintf("%s/test-fixtures/fileurl/%s", cwd, "cake")
|
||||||
source := fmt.Sprintf("file://" + sourcePath)
|
|
||||||
|
filePrefix := "file://"
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
|
filePrefix += "/"
|
||||||
|
}
|
||||||
|
|
||||||
|
source := fmt.Sprintf(filePrefix + sourcePath)
|
||||||
t.Logf("Trying to download %s", source)
|
t.Logf("Trying to download %s", source)
|
||||||
|
|
||||||
config := &DownloadConfig{
|
config := &DownloadConfig{
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mitchellh/packer/template/interpolate"
|
"github.com/mitchellh/packer/template/interpolate"
|
||||||
|
@ -77,7 +78,13 @@ func (c *ISOConfig) Prepare(ctx *interpolate.Context) (warnings []string, errs [
|
||||||
return warnings, errs
|
return warnings, errs
|
||||||
}
|
}
|
||||||
case "file":
|
case "file":
|
||||||
file, err := os.Open(u.Path)
|
path := u.Path
|
||||||
|
|
||||||
|
if runtime.GOOS == "windows" && len(path) > 2 && path[0] == '/' && path[2] == ':' {
|
||||||
|
path = strings.TrimLeft(path, "/")
|
||||||
|
}
|
||||||
|
|
||||||
|
file, err := os.Open(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
return warnings, errs
|
return warnings, errs
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -80,7 +81,11 @@ func TestISOConfigPrepare_ISOChecksumURL(t *testing.T) {
|
||||||
i.ISOChecksum = ""
|
i.ISOChecksum = ""
|
||||||
cs_file, _ := ioutil.TempFile("", "packer-test-")
|
cs_file, _ := ioutil.TempFile("", "packer-test-")
|
||||||
ioutil.WriteFile(cs_file.Name(), []byte(cs_bsd_style), 0666)
|
ioutil.WriteFile(cs_file.Name(), []byte(cs_bsd_style), 0666)
|
||||||
i.ISOChecksumURL = fmt.Sprintf("file://%s", cs_file.Name())
|
filePrefix := "file://"
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
|
filePrefix += "/"
|
||||||
|
}
|
||||||
|
i.ISOChecksumURL = fmt.Sprintf("%s%s", filePrefix, cs_file.Name())
|
||||||
warns, err = i.Prepare(nil)
|
warns, err = i.Prepare(nil)
|
||||||
if len(warns) > 0 {
|
if len(warns) > 0 {
|
||||||
t.Fatalf("bad: %#v", warns)
|
t.Fatalf("bad: %#v", warns)
|
||||||
|
@ -98,7 +103,7 @@ func TestISOConfigPrepare_ISOChecksumURL(t *testing.T) {
|
||||||
i.ISOChecksum = ""
|
i.ISOChecksum = ""
|
||||||
cs_file, _ = ioutil.TempFile("", "packer-test-")
|
cs_file, _ = ioutil.TempFile("", "packer-test-")
|
||||||
ioutil.WriteFile(cs_file.Name(), []byte(cs_gnu_style), 0666)
|
ioutil.WriteFile(cs_file.Name(), []byte(cs_gnu_style), 0666)
|
||||||
i.ISOChecksumURL = fmt.Sprintf("file://%s", cs_file.Name())
|
i.ISOChecksumURL = fmt.Sprintf("%s%s", filePrefix, cs_file.Name())
|
||||||
warns, err = i.Prepare(nil)
|
warns, err = i.Prepare(nil)
|
||||||
if len(warns) > 0 {
|
if len(warns) > 0 {
|
||||||
t.Fatalf("bad: %#v", warns)
|
t.Fatalf("bad: %#v", warns)
|
||||||
|
|
Loading…
Reference in New Issue