From a5a917d477c27830276b8dc88163170436789943 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 25 Jul 2017 17:51:20 +0800 Subject: [PATCH] add mymysql tests (#656) --- circle.yml | 2 +- session_get_test.go | 21 ++++++++++++--------- test_mymysql.sh | 1 + xorm_test.go | 1 + 4 files changed, 15 insertions(+), 10 deletions(-) create mode 100755 test_mymysql.sh diff --git a/circle.yml b/circle.yml index 3063ac9d..e81bdb0e 100644 --- a/circle.yml +++ b/circle.yml @@ -21,7 +21,7 @@ database: test: override: # './...' is a relative pattern which means all subdirectories - - go test -v -race -db="sqlite3::mysql::postgres" -conn_str="./test.db::root:@/xorm_test::dbname=xorm_test sslmode=disable" -coverprofile=coverage.txt -covermode=atomic + - go test -v -race -db="sqlite3::mysql::mymysql::postgres" -conn_str="./test.db::root:@/xorm_test::xorm_test/root/::dbname=xorm_test sslmode=disable" -coverprofile=coverage.txt -covermode=atomic - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./sqlite3.sh - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./mysql.sh - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./postgres.sh diff --git a/session_get_test.go b/session_get_test.go index e3887118..24139c9f 100644 --- a/session_get_test.go +++ b/session_get_test.go @@ -71,15 +71,18 @@ func TestGetVar(t *testing.T) { assert.Equal(t, "28", valuesString["age"]) assert.Equal(t, "1.5", valuesString["money"]) - var valuesInter = make(map[string]interface{}) - has, err = testEngine.Table("get_var").Where("id = ?", 1).Select("*").Get(&valuesInter) - assert.NoError(t, err) - assert.Equal(t, true, has) - assert.Equal(t, 5, len(valuesInter)) - assert.EqualValues(t, 1, valuesInter["id"]) - assert.Equal(t, "hi", fmt.Sprintf("%s", valuesInter["msg"])) - assert.EqualValues(t, 28, valuesInter["age"]) - assert.Equal(t, "1.5", fmt.Sprintf("%v", valuesInter["money"])) + // for mymysql driver, interface{} will be []byte, so ignore it currently + if testEngine.dialect.DriverName() != "mymysql" { + var valuesInter = make(map[string]interface{}) + has, err = testEngine.Table("get_var").Where("id = ?", 1).Select("*").Get(&valuesInter) + assert.NoError(t, err) + assert.Equal(t, true, has) + assert.Equal(t, 5, len(valuesInter)) + assert.EqualValues(t, 1, valuesInter["id"]) + assert.Equal(t, "hi", fmt.Sprintf("%s", valuesInter["msg"])) + assert.EqualValues(t, 28, valuesInter["age"]) + assert.Equal(t, "1.5", fmt.Sprintf("%v", valuesInter["money"])) + } var valuesSliceString = make([]string, 5) has, err = testEngine.Table("get_var").Get(&valuesSliceString) diff --git a/test_mymysql.sh b/test_mymysql.sh new file mode 100755 index 00000000..f7780d14 --- /dev/null +++ b/test_mymysql.sh @@ -0,0 +1 @@ +go test -db=mymysql -conn_str="xorm_test/root/" \ No newline at end of file diff --git a/xorm_test.go b/xorm_test.go index 2e722f86..e7deec11 100644 --- a/xorm_test.go +++ b/xorm_test.go @@ -12,6 +12,7 @@ import ( "github.com/go-xorm/core" _ "github.com/lib/pq" _ "github.com/mattn/go-sqlite3" + _ "github.com/ziutek/mymysql/godrv" ) var (