Updated test to work also for root
This commit is contained in:
parent
2d32b04d34
commit
e990b817e4
@ -1,7 +1,18 @@
|
|||||||
diff -up DBD-mysql-5.001/t/10connect.t.orig DBD-mysql-5.001/t/10connect.t
|
From 18626cfefdc4568ed0de7129a1bfb5916c21f5e6 Mon Sep 17 00:00:00 2001
|
||||||
--- DBD-mysql-5.001/t/10connect.t.orig 2023-10-12 17:14:01.117134826 +0200
|
From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= <git@myname.nl>
|
||||||
+++ DBD-mysql-5.001/t/10connect.t 2023-10-12 17:14:46.482494421 +0200
|
Date: Thu, 5 Oct 2023 09:45:44 +0200
|
||||||
@@ -46,7 +46,7 @@ like(
|
Subject: [PATCH] Update version test for v5.x
|
||||||
|
|
||||||
|
---
|
||||||
|
t/10connect.t | 2 +-
|
||||||
|
t/version.t | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/t/10connect.t b/t/10connect.t
|
||||||
|
index 6f36c4d..bfca344 100644
|
||||||
|
--- a/t/10connect.t
|
||||||
|
+++ b/t/10connect.t
|
||||||
|
@@ -45,7 +45,7 @@ like(
|
||||||
'get_info SQL_DRIVER_VER like dd.dd.dddd'
|
'get_info SQL_DRIVER_VER like dd.dd.dddd'
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -10,10 +21,11 @@ diff -up DBD-mysql-5.001/t/10connect.t.orig DBD-mysql-5.001/t/10connect.t
|
|||||||
|
|
||||||
# storage engine function is @@storage_engine in up to 5.5.03
|
# storage engine function is @@storage_engine in up to 5.5.03
|
||||||
# at that version, @@default_storage_engine is introduced
|
# at that version, @@default_storage_engine is introduced
|
||||||
diff -up DBD-mysql-5.001/t/version.t.orig DBD-mysql-5.001/t/version.t
|
diff --git a/t/version.t b/t/version.t
|
||||||
--- DBD-mysql-5.001/t/version.t.orig 2023-10-12 17:14:16.136253877 +0200
|
index 47d1778..87b0db0 100644
|
||||||
+++ DBD-mysql-5.001/t/version.t 2023-10-12 17:15:13.153705834 +0200
|
--- a/t/version.t
|
||||||
@@ -7,7 +7,7 @@ use Bundle::DBD::mysql;
|
+++ b/t/version.t
|
||||||
|
@@ -6,7 +6,7 @@ use Bundle::DBD::mysql;
|
||||||
use Test::More;
|
use Test::More;
|
||||||
|
|
||||||
like($DBD::mysql::VERSION, qr/^\d\.\d{2,3}(|_\d\d)$/, 'version format');
|
like($DBD::mysql::VERSION, qr/^\d\.\d{2,3}(|_\d\d)$/, 'version format');
|
||||||
@ -22,3 +34,6 @@ diff -up DBD-mysql-5.001/t/version.t.orig DBD-mysql-5.001/t/version.t
|
|||||||
is(
|
is(
|
||||||
$DBD::mysql::VERSION,
|
$DBD::mysql::VERSION,
|
||||||
$Bundle::DBD::mysql::VERSION,
|
$Bundle::DBD::mysql::VERSION,
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
||||||
|
|||||||
@ -84,7 +84,8 @@ management system.
|
|||||||
Summary: Tests for %{name}
|
Summary: Tests for %{name}
|
||||||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: perl-Test-Harness
|
Requires: perl-Test-Harness
|
||||||
#Requires: hostname
|
Requires: coreutils
|
||||||
|
Requires: shadow-utils
|
||||||
Requires: %{?fedora:community-}mysql
|
Requires: %{?fedora:community-}mysql
|
||||||
Requires: %{?fedora:community-}mysql-server
|
Requires: %{?fedora:community-}mysql-server
|
||||||
# Required to process t/testrules.yml
|
# Required to process t/testrules.yml
|
||||||
@ -140,6 +141,7 @@ perl -i -pe 's{%{_builddir}/.*mysql.sock}{_TEST_SOCKET_}' %{buildroot}%{_libexec
|
|||||||
# Remove release tests
|
# Remove release tests
|
||||||
rm %{buildroot}%{_libexecdir}/%{name}/t/manifest.t
|
rm %{buildroot}%{_libexecdir}/%{name}/t/manifest.t
|
||||||
rm %{buildroot}%{_libexecdir}/%{name}/t/pod.t
|
rm %{buildroot}%{_libexecdir}/%{name}/t/pod.t
|
||||||
|
|
||||||
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
|
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
set -e
|
set -e
|
||||||
@ -150,7 +152,22 @@ cp -a %{_libexecdir}/%{name}/* ./
|
|||||||
. $DIR/$(basename %{SOURCE4})
|
. $DIR/$(basename %{SOURCE4})
|
||||||
%{!?with_perl_DBD_MySQL_enables_leak_test:unset EXTENDED_TESTING}
|
%{!?with_perl_DBD_MySQL_enables_leak_test:unset EXTENDED_TESTING}
|
||||||
perl -i -pe "s{_TEST_SOCKET_}{$DBD_MYSQL_TESTSOCKET}" $DIR/t/mysql.mtest
|
perl -i -pe "s{_TEST_SOCKET_}{$DBD_MYSQL_TESTSOCKET}" $DIR/t/mysql.mtest
|
||||||
prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
|
|
||||||
|
# Test setup and tests have to be executed by non-root user
|
||||||
|
if [ `id -u` -ne 0 ]; then
|
||||||
|
prove -I . -j "$(getconf _NPROCESSORS_ONLN)"
|
||||||
|
else
|
||||||
|
getent group $DBD_MYSQL_TESTUSER >/dev/null || \
|
||||||
|
groupadd -r $DBD_MYSQL_TESTUSER
|
||||||
|
getent passwd $DBD_MYSQL_TESTUSER >/dev/null || \
|
||||||
|
useradd -g $DBD_MYSQL_TESTUSER $DBD_MYSQL_TESTUSER
|
||||||
|
chown -hR $DBD_MYSQL_TESTUSER:$DBD_MYSQL_TESTUSER $DIR
|
||||||
|
su $DBD_MYSQL_TESTUSER -c "prove -I . -j \"$(getconf _NPROCESSORS_ONLN)\""
|
||||||
|
chown -hR root:root $DIR
|
||||||
|
getent passwd $DBD_MYSQL_TESTUSER &>/dev/null && userdel -r $DBD_MYSQL_TESTUSER
|
||||||
|
getent group $DBD_MYSQL_TESTUSER &>/dev/null && groupdel $DBD_MYSQL_TESTUSER
|
||||||
|
fi
|
||||||
|
|
||||||
popd
|
popd
|
||||||
rm -rf "$DIR"
|
rm -rf "$DIR"
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@ -9,6 +9,6 @@ export MYSQL_PIDFILE=$MYSQL_DIR/mysql.pid
|
|||||||
export DBD_MYSQL_TESTDB=test
|
export DBD_MYSQL_TESTDB=test
|
||||||
export DBD_MYSQL_TESTHOST=localhost
|
export DBD_MYSQL_TESTHOST=localhost
|
||||||
export DBD_MYSQL_TESTSOCKET=$MYSQL_UNIX_PORT
|
export DBD_MYSQL_TESTSOCKET=$MYSQL_UNIX_PORT
|
||||||
export DBD_MYSQL_TESTUSER=testuser
|
export DBD_MYSQL_TESTUSER=testuserdbd
|
||||||
export DBD_MYSQL_TESTPASSWORD=testpassword
|
export DBD_MYSQL_TESTPASSWORD=testpasswordDBD
|
||||||
|
|
||||||
|
|||||||
@ -18,9 +18,11 @@ my $DBD_MYSQL_TESTUSER = $ENV{'DBD_MYSQL_TESTUSER'};
|
|||||||
my $DBD_MYSQL_TESTPASSWORD = $ENV{'DBD_MYSQL_TESTPASSWORD'};
|
my $DBD_MYSQL_TESTPASSWORD = $ENV{'DBD_MYSQL_TESTPASSWORD'};
|
||||||
|
|
||||||
my $MYSQLD = '/usr/sbin/mysqld';
|
my $MYSQLD = '/usr/sbin/mysqld';
|
||||||
system("$MYSQLD --no-defaults --initialize-insecure --datadir=$MYSQL_DIR --explicit_defaults_for_timestamp >/dev/null 2>&1");
|
# Initialize MySQL data directory
|
||||||
|
system("$MYSQLD --no-defaults --initialize-insecure --user=mysql --datadir=$MYSQL_DIR >/dev/null 2>&1");
|
||||||
is($?, 0);
|
is($?, 0);
|
||||||
|
|
||||||
|
# Starting the server
|
||||||
my $cmd = "$MYSQLD --no-defaults --socket=$MYSQL_UNIX_PORT --datadir=$MYSQL_DIR --pid-file=$MYSQL_PIDFILE --explicit_defaults_for_timestamp --skip-networking >/dev/null 2>&1 &";
|
my $cmd = "$MYSQLD --no-defaults --socket=$MYSQL_UNIX_PORT --datadir=$MYSQL_DIR --pid-file=$MYSQL_PIDFILE --explicit_defaults_for_timestamp --skip-networking >/dev/null 2>&1 &";
|
||||||
system($cmd);
|
system($cmd);
|
||||||
is($?, 0);
|
is($?, 0);
|
||||||
@ -30,11 +32,12 @@ while (system("/usr/bin/mysqladmin --socket=$MYSQL_UNIX_PORT ping >/dev/null 2>&
|
|||||||
sleep 3;
|
sleep 3;
|
||||||
$attempts++;
|
$attempts++;
|
||||||
if ($attempts > 10) {
|
if ($attempts > 10) {
|
||||||
fail("skipping test, mariadb/mysql server could not be contacted after 30 seconds\n");
|
fail("skipping test, mysql server could not be contacted after 30 seconds\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ok(1);
|
ok(1);
|
||||||
|
|
||||||
|
# Create database
|
||||||
system("mysql -u root --skip-password --execute \"CREATE DATABASE IF NOT EXISTS $DBD_MYSQL_TESTDB CHARACTER SET='utf8mb4';\" 2>&1");
|
system("mysql -u root --skip-password --execute \"CREATE DATABASE IF NOT EXISTS $DBD_MYSQL_TESTDB CHARACTER SET='utf8mb4';\" 2>&1");
|
||||||
is($?, 0);
|
is($?, 0);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user