summaryrefslogtreecommitdiff
path: root/mysql-test/main/shm.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/main/shm.test')
-rw-r--r--mysql-test/main/shm.test47
1 files changed, 47 insertions, 0 deletions
diff --git a/mysql-test/main/shm.test b/mysql-test/main/shm.test
new file mode 100644
index 00000000000..346ce49476e
--- /dev/null
+++ b/mysql-test/main/shm.test
@@ -0,0 +1,47 @@
+# We currently only have shm support on windows, so in order
+# to optimize things we skip this test on all other platforms
+--source include/windows.inc
+
+# thread pool causes different results
+-- source include/not_threadpool.inc
+
+# Only run this test if shared memory is avaliable
+let $shm= query_get_value("SHOW VARIABLES LIKE 'shared_memory'", Value, 1);
+if ($shm != ON){
+ skip No shm support;
+}
+let $shm_name= query_get_value("SHOW GLOBAL VARIABLES LIKE 'shared_memory_base_name'", Value, 1);
+
+# Connect using SHM for testing
+connect(shm_con,localhost,root,,,,$shm_name,SHM);
+
+# Source select test case
+-- source include/common-tests.inc
+
+connection default;
+disconnect shm_con;
+
+#
+# Bug #24924: shared-memory-base-name that is too long causes buffer overflow
+#
+--exec $MYSQLADMIN --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ping
+
+#
+# Bug #33899: Deadlock in mysql_real_query with shared memory connections
+#
+
+let $stmt= `SELECT REPEAT('a', 2048)`;
+
+SET @max_allowed_packet= @@global.max_allowed_packet;
+SET @net_buffer_length= @@global.net_buffer_length;
+
+SET GLOBAL max_allowed_packet= 1024;
+SET GLOBAL net_buffer_length= 1024;
+
+--error 1
+--exec echo SELECT '$stmt'| $MYSQL --protocol=memory --shared-memory-base-name=$shm_name 2>&1
+
+SET GLOBAL max_allowed_packet= @max_allowed_packet;
+SET GLOBAL net_buffer_length= @net_buffer_length;
+
+--echo End of 5.0 tests.