← Back to team overview

maria-developers team mailing list archive

bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2752)

 

#At lp:maria

 2752 knielsen@xxxxxxxxxxxxxxx	2009-10-05
      MBug#443092: test cases mysql and mysql_upgrade fails with wildcard DNS
      
      When DNS is not working and returns some address even for non-existing
      host names, some test cases fail with wrong error.
      
      Fix by disabling these tests on such systems.
      added:
        mysql-test/include/have_working_dns.inc
        mysql-test/r/have_working_dns.require
      modified:
        mysql-test/mysql-test-run.pl
        mysql-test/t/mysql.test
        mysql-test/t/mysql_upgrade.test

=== added file 'mysql-test/include/have_working_dns.inc'
--- a/mysql-test/include/have_working_dns.inc	1970-01-01 00:00:00 +0000
+++ b/mysql-test/include/have_working_dns.inc	2009-10-05 13:22:23 +0000
@@ -0,0 +1,11 @@
+#
+# Check if we have a working DNS.
+# Some 'wildcard dns' return some address even for non-existing hosts. This
+# makes it hard to test connections to such host names.
+# The actual check for working DNS is done in Perl, and the result available
+# in an environment variable.
+#
+--require r/have_working_dns.require
+disable_query_log;
+eval SELECT LENGTH('$HAVE_BROKEN_DNS') = 0 AS 'have_working_dns';
+enable_query_log;

=== modified file 'mysql-test/mysql-test-run.pl'
--- a/mysql-test/mysql-test-run.pl	2009-09-29 19:02:48 +0000
+++ b/mysql-test/mysql-test-run.pl	2009-10-05 13:22:23 +0000
@@ -2003,6 +2003,15 @@ sub environment_setup {
   $ENV{'MYSQL_TMP_DIR'}=      $opt_tmpdir;
   $ENV{'MYSQLTEST_VARDIR'}=   $opt_vardir;
 
+  #
+  # Some stupid^H^H^H^H^H^Hignorant network providers set up "wildcard DNS"
+  # servers that return some given web server address for any lookup of a
+  # non-existent host name. This confuses test cases that want to test the
+  # behaviour when connecting to a non-existing host, so we need to be able
+  # to disable those tests when DNS is broken.
+  #
+  $ENV{HAVE_BROKEN_DNS}= defined(gethostbyname('invalid_hostname'));
+
   # ----------------------------------------------------
   # Setup env for NDB
   # ----------------------------------------------------

=== added file 'mysql-test/r/have_working_dns.require'
--- a/mysql-test/r/have_working_dns.require	1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/have_working_dns.require	2009-10-05 13:22:23 +0000
@@ -0,0 +1,2 @@
+have_working_dns
+1

=== modified file 'mysql-test/t/mysql.test'
--- a/mysql-test/t/mysql.test	2009-07-31 00:51:25 +0000
+++ b/mysql-test/t/mysql.test	2009-10-05 13:22:23 +0000
@@ -1,3 +1,4 @@
+-- source include/have_working_dns.inc
 # This test should work in embedded server after we fix mysqltest
 -- source include/not_embedded.inc
 #

=== modified file 'mysql-test/t/mysql_upgrade.test'
--- a/mysql-test/t/mysql_upgrade.test	2009-07-28 19:59:38 +0000
+++ b/mysql-test/t/mysql_upgrade.test	2009-10-05 13:22:23 +0000
@@ -1,3 +1,4 @@
+-- source include/have_working_dns.inc
 # Can't run test of external client with embedded server
 -- source include/not_embedded.inc