aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-08-06 22:19:09 +0800
committerFelix Lange <fjl@twurst.com>2015-08-06 23:18:59 +0800
commit383201996463ddb91aa754f81d00d472e3436380 (patch)
treef9f32bd48949b85a14594f57a01de528d8695e02
parenteae1191904fd739cdffdd2903509a44a35c4c2f2 (diff)
downloadgo-tangerine-383201996463ddb91aa754f81d00d472e3436380.tar.gz
go-tangerine-383201996463ddb91aa754f81d00d472e3436380.tar.zst
go-tangerine-383201996463ddb91aa754f81d00d472e3436380.zip
common/compiler, common/docserver, jsre: fix tests on windows
-rw-r--r--common/compiler/solidity_test.go5
-rw-r--r--common/docserver/docserver.go1
-rw-r--r--common/docserver/docserver_test.go19
-rw-r--r--jsre/jsre_test.go30
4 files changed, 38 insertions, 17 deletions
diff --git a/common/compiler/solidity_test.go b/common/compiler/solidity_test.go
index 8255e8e2d..3303bc15a 100644
--- a/common/compiler/solidity_test.go
+++ b/common/compiler/solidity_test.go
@@ -20,6 +20,7 @@ import (
"encoding/json"
"io/ioutil"
"os"
+ "path"
"testing"
"github.com/ethereum/go-ethereum/common"
@@ -94,7 +95,7 @@ func TestSaveInfo(t *testing.T) {
if err != nil {
t.Errorf("%v", err)
}
- filename := "/tmp/solctest.info.json"
+ filename := path.Join(os.TempDir(), "solctest.info.json")
os.Remove(filename)
cinfohash, err := SaveInfo(&cinfo, filename)
if err != nil {
@@ -110,4 +111,4 @@ func TestSaveInfo(t *testing.T) {
if cinfohash != infohash {
t.Errorf("content hash for info is incorrect. expected %v, got %v", infohash.Hex(), cinfohash.Hex())
}
-}
+} \ No newline at end of file
diff --git a/common/docserver/docserver.go b/common/docserver/docserver.go
index fa120fb38..dac542ba7 100644
--- a/common/docserver/docserver.go
+++ b/common/docserver/docserver.go
@@ -38,7 +38,6 @@ func New(docRoot string) (self *DocServer) {
DocRoot: docRoot,
schemes: []string{"file"},
}
- self.DocRoot = "/tmp/"
self.RegisterProtocol("file", http.NewFileTransport(http.Dir(self.DocRoot)))
return
}
diff --git a/common/docserver/docserver_test.go b/common/docserver/docserver_test.go
index 92e39d167..632603add 100644
--- a/common/docserver/docserver_test.go
+++ b/common/docserver/docserver_test.go
@@ -20,6 +20,7 @@ import (
"io/ioutil"
"net/http"
"os"
+ "path"
"testing"
"github.com/ethereum/go-ethereum/common"
@@ -27,12 +28,18 @@ import (
)
func TestGetAuthContent(t *testing.T) {
- text := "test"
- hash := common.Hash{}
- copy(hash[:], crypto.Sha3([]byte(text)))
- ioutil.WriteFile("/tmp/test.content", []byte(text), os.ModePerm)
+ dir, err := ioutil.TempDir("", "docserver-test")
+ if err != nil {
+ t.Fatal("cannot create temporary directory:", err)
+ }
+ defer os.RemoveAll(dir)
+ ds := New(dir)
- ds := New("/tmp/")
+ text := "test"
+ hash := crypto.Sha3Hash([]byte(text))
+ if err := ioutil.WriteFile(path.Join(dir, "test.content"), []byte(text), os.ModePerm); err != nil {
+ t.Fatal("could not write test file", err)
+ }
content, err := ds.GetAuthContent("file:///test.content", hash)
if err != nil {
t.Errorf("no error expected, got %v", err)
@@ -67,4 +74,4 @@ func TestRegisterScheme(t *testing.T) {
if !ds.HasScheme("scheme") {
t.Errorf("expected scheme to be registered")
}
-}
+} \ No newline at end of file
diff --git a/jsre/jsre_test.go b/jsre/jsre_test.go
index ad210932a..93dc7d1f9 100644
--- a/jsre/jsre_test.go
+++ b/jsre/jsre_test.go
@@ -19,6 +19,7 @@ package jsre
import (
"io/ioutil"
"os"
+ "path"
"testing"
"time"
@@ -40,10 +41,23 @@ func (no *testNativeObjectBinding) TestMethod(call otto.FunctionCall) otto.Value
return v
}
+func newWithTestJS(t *testing.T, testjs string) (*JSRE, string) {
+ dir, err := ioutil.TempDir("", "jsre-test")
+ if err != nil {
+ t.Fatal("cannot create temporary directory:", err)
+ }
+ if testjs != "" {
+ if err := ioutil.WriteFile(path.Join(dir, "test.js"), []byte(testjs), os.ModePerm); err != nil {
+ t.Fatal("cannot create test.js:", err)
+ }
+ }
+ return New(dir), dir
+}
+
func TestExec(t *testing.T) {
- jsre := New("/tmp")
+ jsre, dir := newWithTestJS(t, `msg = "testMsg"`)
+ defer os.RemoveAll(dir)
- ioutil.WriteFile("/tmp/test.js", []byte(`msg = "testMsg"`), os.ModePerm)
err := jsre.Exec("test.js")
if err != nil {
t.Errorf("expected no error, got %v", err)
@@ -64,9 +78,9 @@ func TestExec(t *testing.T) {
}
func TestNatto(t *testing.T) {
- jsre := New("/tmp")
+ jsre, dir := newWithTestJS(t, `setTimeout(function(){msg = "testMsg"}, 1);`)
+ defer os.RemoveAll(dir)
- ioutil.WriteFile("/tmp/test.js", []byte(`setTimeout(function(){msg = "testMsg"}, 1);`), os.ModePerm)
err := jsre.Exec("test.js")
if err != nil {
t.Errorf("expected no error, got %v", err)
@@ -88,7 +102,7 @@ func TestNatto(t *testing.T) {
}
func TestBind(t *testing.T) {
- jsre := New("/tmp")
+ jsre := New("")
jsre.Bind("no", &testNativeObjectBinding{})
@@ -105,9 +119,9 @@ func TestBind(t *testing.T) {
}
func TestLoadScript(t *testing.T) {
- jsre := New("/tmp")
+ jsre, dir := newWithTestJS(t, `msg = "testMsg"`)
+ defer os.RemoveAll(dir)
- ioutil.WriteFile("/tmp/test.js", []byte(`msg = "testMsg"`), os.ModePerm)
_, err := jsre.Run(`loadScript("test.js")`)
if err != nil {
t.Errorf("expected no error, got %v", err)
@@ -125,4 +139,4 @@ func TestLoadScript(t *testing.T) {
t.Errorf("expected '%v', got '%v'", exp, got)
}
jsre.Stop(false)
-}
+} \ No newline at end of file