<?php

/*
Start debug 5.6 server with options:
--log-bin --log-slave-updates --binlog-format=row --binlog-checksum=CRC32 --enforce-gtid-consistency=true --gtid-mode=on --server-id=21 --binlog-rows-query-log-events=1

Run this testcase, it should assert server in a few seconds/minutes
Release build will get a corrupted binlog (noticable by checking with mysqlbinlog or slave:

mysqlbinlog --read-from-remote-server -uroot --stop-never test-bin.000001 --to-last-log --verify-binlog-checksum 

*/

$options["h"]="127.0.0.1";
$options["u"]="root";
$options["p"]="";
$options["P"]="3306";
$options["S"]="/tmp/mysql.sock";
$options["s"]=make_seed();

print "seed: ". $options["s"]."\n";
mt_srand($options["s"]);

$link1=mysqli_connect($options["h"],$options["u"],$options["p"],"",$options["P"]) or die(mysqli_connect_error());
mysqli_query($link1,"use test;");
//mysqli_query($link1,"reset master;");  //enable for tests.
mysqli_query($link1,"drop table if exists t1;");
mysqli_query($link1,"create table t1(id tinyint primary key,a longblob)engine=myisam;");
$cnt=0;
while(1)
{
	$sql="replace into `t1` set `id`=".mt_rand(0,127) . ",a='".str_repeat('a',mt_rand(1024,16384))."'";
	if(FALSE===mysqli_query($link1,$sql))
	{
		print mysqli_error($link1)."\n";
		break;
	}
	$cnt++;
	if($cnt % 1000 == 0)
		print "$cnt inserts\n";
}
print "seed: ". $options["s"]."\n";
exit;


function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}


?>