summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-sql-driver/mysql/utils_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-sql-driver/mysql/utils_test.go')
-rw-r--r--vendor/github.com/go-sql-driver/mysql/utils_test.go80
1 files changed, 80 insertions, 0 deletions
diff --git a/vendor/github.com/go-sql-driver/mysql/utils_test.go b/vendor/github.com/go-sql-driver/mysql/utils_test.go
index 0d6c6684f..0041892db 100644
--- a/vendor/github.com/go-sql-driver/mysql/utils_test.go
+++ b/vendor/github.com/go-sql-driver/mysql/utils_test.go
@@ -195,3 +195,83 @@ func TestEscapeQuotes(t *testing.T) {
expect("foo''bar", "foo'bar") // affected
expect("foo\"bar", "foo\"bar") // not affected
}
+
+func TestAtomicBool(t *testing.T) {
+ var ab atomicBool
+ if ab.IsSet() {
+ t.Fatal("Expected value to be false")
+ }
+
+ ab.Set(true)
+ if ab.value != 1 {
+ t.Fatal("Set(true) did not set value to 1")
+ }
+ if !ab.IsSet() {
+ t.Fatal("Expected value to be true")
+ }
+
+ ab.Set(true)
+ if !ab.IsSet() {
+ t.Fatal("Expected value to be true")
+ }
+
+ ab.Set(false)
+ if ab.value != 0 {
+ t.Fatal("Set(false) did not set value to 0")
+ }
+ if ab.IsSet() {
+ t.Fatal("Expected value to be false")
+ }
+
+ ab.Set(false)
+ if ab.IsSet() {
+ t.Fatal("Expected value to be false")
+ }
+ if ab.TrySet(false) {
+ t.Fatal("Expected TrySet(false) to fail")
+ }
+ if !ab.TrySet(true) {
+ t.Fatal("Expected TrySet(true) to succeed")
+ }
+ if !ab.IsSet() {
+ t.Fatal("Expected value to be true")
+ }
+
+ ab.Set(true)
+ if !ab.IsSet() {
+ t.Fatal("Expected value to be true")
+ }
+ if ab.TrySet(true) {
+ t.Fatal("Expected TrySet(true) to fail")
+ }
+ if !ab.TrySet(false) {
+ t.Fatal("Expected TrySet(false) to succeed")
+ }
+ if ab.IsSet() {
+ t.Fatal("Expected value to be false")
+ }
+
+ ab._noCopy.Lock() // we've "tested" it ¯\_(ツ)_/¯
+}
+
+func TestAtomicError(t *testing.T) {
+ var ae atomicError
+ if ae.Value() != nil {
+ t.Fatal("Expected value to be nil")
+ }
+
+ ae.Set(ErrMalformPkt)
+ if v := ae.Value(); v != ErrMalformPkt {
+ if v == nil {
+ t.Fatal("Value is still nil")
+ }
+ t.Fatal("Error did not match")
+ }
+ ae.Set(ErrPktSync)
+ if ae.Value() == ErrMalformPkt {
+ t.Fatal("Error still matches old error")
+ }
+ if v := ae.Value(); v != ErrPktSync {
+ t.Fatal("Error did not match")
+ }
+}