# This test makes sure that there is no way to disable InnoDB in 5.7. # In other words: even though --skip-innodb (or --innodb=OFF) is specified, # InnoDB is still enabled. # Just for consistency. --let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err --let SEARCH_PATTERN= The use of InnoDB is mandatory since MySQL 5\.7\. The former options like .* are ignored\. --let SEARCH_PATTERN1= The syntax 'avoid_temporal_upgrade' is deprecated and will be removed in a future release # >= 7 because # - We have 7 server startup options which cause one warning in server error # log per option. # - It cannot be excluded that # - some MTR run setup goes with additional options causing more of such # warnings. Example: # ./mtr --mysqld=--innodb innodb_disabled -> 1 + 7 warnings # - at runtime several tests use such options # Example: # ./mtr # ... # test A uses "--innodb" and causes a server restart --> 1 warning # ... # innodb_disabled --> 7 warnings more # --let MINIMUM_MATCHES= 7 eval CALL mtr.add_suppression("$SEARCH_PATTERN"); SELECT support FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'innodb'; perl; use strict; my $search_file= $ENV{'SEARCH_FILE'} or die "SEARCH_FILE not set"; my $search_pattern= $ENV{'SEARCH_PATTERN'} or die "SEARCH_PATTERN not set"; my $search_pattern1= $ENV{'SEARCH_PATTERN1'} or die "SEARCH_PATTERN1 not set"; my $minimum_matches= $ENV{'MINIMUM_MATCHES'} or die "MINIMUM_MATCHES not set"; open(FILE, "$search_file") or die("Unable to open '$search_file': $!\n"); my $count = 0; while () { if (m{$search_pattern}) { ++$count; } if (m{$search_pattern1}) { die ("# ERROR: The file '$search_file' contains \n". "# the unexpected pattern '$search_pattern1' at $_\n"); } } close(FILE); if ( $count < $minimum_matches ) { die("# ERROR: The file '$search_file' does not contain \n". "# the expected pattern '$search_pattern' often enough.\n". "# Found: $count Expected: >= $minimum_matches"); } EOF