summaryrefslogtreecommitdiff
path: root/conncheck_test.go
diff options
context:
space:
mode:
authorroot <sina@snix.ir>2022-05-27 13:13:53 +0000
committerroot <sina@snix.ir>2022-05-27 13:13:53 +0000
commit937c561db4b25a1becdc81701511fafc67b90389 (patch)
tree17e5d4c692ec4ab3c8b0deb0072d5784cc4be084 /conncheck_test.go
fork mysql driverHEADmaster
Diffstat (limited to 'conncheck_test.go')
-rw-r--r--conncheck_test.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/conncheck_test.go b/conncheck_test.go
new file mode 100644
index 0000000..3000b38
--- /dev/null
+++ b/conncheck_test.go
@@ -0,0 +1,38 @@
+// Go MySQL Driver - A MySQL-Driver for Go's database/sql package
+//
+// Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved.
+//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this file,
+// You can obtain one at http://mozilla.org/MPL/2.0/.
+
+// +build linux darwin dragonfly freebsd netbsd openbsd solaris illumos
+
+package mariadb
+
+import (
+ "testing"
+ "time"
+)
+
+func TestStaleConnectionChecks(t *testing.T) {
+ runTests(t, dsn, func(dbt *DBTest) {
+ dbt.mustExec("SET @@SESSION.wait_timeout = 2")
+
+ if err := dbt.db.Ping(); err != nil {
+ dbt.Fatal(err)
+ }
+
+ // wait for MySQL to close our connection
+ time.Sleep(3 * time.Second)
+
+ tx, err := dbt.db.Begin()
+ if err != nil {
+ dbt.Fatal(err)
+ }
+
+ if err := tx.Rollback(); err != nil {
+ dbt.Fatal(err)
+ }
+ })
+}

Snix LLC Git Repository Holder Copyright(C) 2022 All Rights Reserved Email To Snix.IR