mirror of https://github.com/perkeep/perkeep.git
Add SKIP_DEP_TESTS env var to skip tests with depdendencies.
Now all tests pass like this: bradmac-2:camlistore.org $ SKIP_DEP_TESTS=1 go test ./pkg/... ? camlistore.org/pkg/auth [no test files] ok camlistore.org/pkg/blobref 0.023s ok camlistore.org/pkg/blobserver 0.032s ? camlistore.org/pkg/blobserver/cond [no test files] ? camlistore.org/pkg/blobserver/google [no test files] ok camlistore.org/pkg/blobserver/handlers 0.031s ok camlistore.org/pkg/blobserver/localdisk 1.693s ? camlistore.org/pkg/blobserver/remote [no test files] ? camlistore.org/pkg/blobserver/replica [no test files] ? camlistore.org/pkg/blobserver/s3 [no test files] ? camlistore.org/pkg/blobserver/shard [no test files] ? camlistore.org/pkg/cacher [no test files] ok camlistore.org/pkg/client 0.029s ? camlistore.org/pkg/errorutil [no test files] ? camlistore.org/pkg/fileembed [no test files] ? camlistore.org/pkg/fileembed/genfileembed [no test files] ? camlistore.org/pkg/fs [no test files] ok camlistore.org/pkg/googlestorage 0.034s ? camlistore.org/pkg/httputil [no test files] ok camlistore.org/pkg/index 0.298s ? camlistore.org/pkg/index/indextest [no test files] ok camlistore.org/pkg/index/mongo 0.524s ok camlistore.org/pkg/index/mysql 0.020s ok camlistore.org/pkg/jsonconfig 0.022s ok camlistore.org/pkg/jsonsign 0.155s ok camlistore.org/pkg/lru 0.015s ok camlistore.org/pkg/magic 0.030s ? camlistore.org/pkg/misc [no test files] ok camlistore.org/pkg/misc/amazon/s3 0.028s ok camlistore.org/pkg/misc/gpgagent 0.018s ok camlistore.org/pkg/misc/httprange 0.026s ? camlistore.org/pkg/misc/pinentry [no test files] ? camlistore.org/pkg/misc/resize [no test files] ok camlistore.org/pkg/netutil 0.088s ok camlistore.org/pkg/osutil 0.016s ok camlistore.org/pkg/rollsum 0.027s ok camlistore.org/pkg/schema 0.017s ok camlistore.org/pkg/search 0.016s ok camlistore.org/pkg/server 0.039s ok camlistore.org/pkg/serverconfig 0.031s ? camlistore.org/pkg/test [no test files] ? camlistore.org/pkg/test/asserts [no test files] ? camlistore.org/pkg/test/testdep [no test files] ? camlistore.org/pkg/webserver [no test files] Change-Id: I9c9b0ee4f51cbcf785aed665bbb494339dd84261
This commit is contained in:
parent
997f0db09e
commit
2ac4da75a7
|
@ -22,10 +22,12 @@ package googlestorage
|
|||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"camlistore.org/pkg/jsonconfig"
|
||||
"camlistore.org/pkg/test/testdep"
|
||||
"camlistore.org/third_party/code.google.com/p/goauth2/oauth"
|
||||
)
|
||||
|
||||
|
@ -42,6 +44,10 @@ func (b *BufferCloser) Close() error {
|
|||
|
||||
// Reads google storage config and creates a Client. Exits on error.
|
||||
func doConfig(t *testing.T) (gsa *Client, bucket string) {
|
||||
if _, err := os.Stat("gstestconfig.json"); os.IsNotExist(err) {
|
||||
testdep.CheckEnv(t)
|
||||
t.Fatalf("Missing config file: %v", err)
|
||||
}
|
||||
cf, err := jsonconfig.ReadFile("testconfig.json")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to read config: %v", err)
|
||||
|
@ -71,7 +77,6 @@ func doConfig(t *testing.T) (gsa *Client, bucket string) {
|
|||
&oauth.Token{
|
||||
AccessToken: "",
|
||||
RefreshToken: auth.RequiredString("refresh_token"),
|
||||
TokenExpiry: 0,
|
||||
},
|
||||
nil,
|
||||
})
|
||||
|
@ -132,9 +137,9 @@ func TestStatObject(t *testing.T) {
|
|||
func TestPutObject(t *testing.T) {
|
||||
gs, bucket := doConfig(t)
|
||||
|
||||
now := time.Now().UTC()
|
||||
now := time.Now()
|
||||
testKey := fmt.Sprintf("test-put-%v.%v.%v-%v.%v.%v",
|
||||
now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second)
|
||||
now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
|
||||
|
||||
shouldRetry, err := gs.PutObject(&Object{bucket, testKey},
|
||||
&BufferCloser{bytes.NewBufferString(testObjectContent)})
|
||||
|
@ -167,9 +172,9 @@ func TestDeleteObject(t *testing.T) {
|
|||
}
|
||||
|
||||
// Create a file, try to delete it
|
||||
now := time.Now().UTC()
|
||||
now := time.Now()
|
||||
testKey := fmt.Sprintf("test-delete-%v.%v.%v-%v.%v.%v",
|
||||
now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second)
|
||||
now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
|
||||
_, err = gs.PutObject(&Object{bucket, testKey},
|
||||
&BufferCloser{bytes.NewBufferString("Delete Me")})
|
||||
if err != nil {
|
||||
|
|
|
@ -25,6 +25,7 @@ import (
|
|||
"camlistore.org/pkg/index"
|
||||
"camlistore.org/pkg/index/indextest"
|
||||
"camlistore.org/pkg/index/mongo"
|
||||
"camlistore.org/pkg/test/testdep"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -62,6 +63,7 @@ func (mongoTester) test(t *testing.T, tfn func(*testing.T, func() *index.Index))
|
|||
once.Do(checkMongoUp)
|
||||
if mongoNotAvailable {
|
||||
err := errors.New("Not running; start a mongoDB daemon on the standard port (27017). The \"keys\" collection in the \"camlitest\" database will be used.")
|
||||
testdep.CheckEnv(t)
|
||||
t.Fatalf("Mongo not available locally for testing: %v", err)
|
||||
}
|
||||
tfn(t, initMongoIndex)
|
||||
|
|
|
@ -27,6 +27,7 @@ import (
|
|||
"camlistore.org/pkg/index"
|
||||
"camlistore.org/pkg/index/indextest"
|
||||
"camlistore.org/pkg/index/mysql"
|
||||
"camlistore.org/pkg/test/testdep"
|
||||
|
||||
_ "camlistore.org/third_party/github.com/ziutek/mymysql/godrv"
|
||||
)
|
||||
|
@ -86,6 +87,7 @@ func (mysqlTester) test(t *testing.T, tfn func(*testing.T, func() *index.Index))
|
|||
// 'root', and/or try localhost unix socket
|
||||
// connections rather than using TCP localhost?
|
||||
err := errors.New("Not running; start a MySQL daemon on the standard port (3306) with root password 'root'")
|
||||
testdep.CheckEnv(t)
|
||||
t.Fatalf("MySQL not available locally for testing: %v", err)
|
||||
}
|
||||
tfn(t, makeIndex)
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
Copyright 2012 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package testdep
|
||||
|
||||
import (
|
||||
"os"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func CheckEnv(t *testing.T) {
|
||||
b, _ := strconv.ParseBool(os.Getenv("SKIP_DEP_TESTS"))
|
||||
if b {
|
||||
t.Log("SKIP_DEP_TESTS is set; skipping test.")
|
||||
runtime.Goexit()
|
||||
}
|
||||
t.Error("External test dependencies not found, and environment SKIP_DEP_TESTS not set.")
|
||||
}
|
||||
|
Loading…
Reference in New Issue