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
|
||||
--- DBD-mysql-5.001/t/10connect.t.orig 2023-10-12 17:14:01.117134826 +0200
|
||||
+++ DBD-mysql-5.001/t/10connect.t 2023-10-12 17:14:46.482494421 +0200
|
||||
@@ -46,7 +46,7 @@ like(
|
||||
From 18626cfefdc4568ed0de7129a1bfb5916c21f5e6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= <git@myname.nl>
|
||||
Date: Thu, 5 Oct 2023 09:45:44 +0200
|
||||
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'
|
||||
);
|
||||
|
||||
@ -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
|
||||
# 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
|
||||
--- DBD-mysql-5.001/t/version.t.orig 2023-10-12 17:14:16.136253877 +0200
|
||||
+++ DBD-mysql-5.001/t/version.t 2023-10-12 17:15:13.153705834 +0200
|
||||
@@ -7,7 +7,7 @@ use Bundle::DBD::mysql;
|
||||
diff --git a/t/version.t b/t/version.t
|
||||
index 47d1778..87b0db0 100644
|
||||
--- a/t/version.t
|
||||
+++ b/t/version.t
|
||||
@@ -6,7 +6,7 @@ use Bundle::DBD::mysql;
|
||||
use Test::More;
|
||||
|
||||
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(
|
||||
$DBD::mysql::VERSION,
|
||||
$Bundle::DBD::mysql::VERSION,
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
||||
@ -84,7 +84,8 @@ management system.
|
||||
Summary: Tests for %{name}
|
||||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: perl-Test-Harness
|
||||
#Requires: hostname
|
||||
Requires: coreutils
|
||||
Requires: shadow-utils
|
||||
Requires: %{?fedora:community-}mysql
|
||||
Requires: %{?fedora:community-}mysql-server
|
||||
# Required to process t/testrules.yml
|
||||
@ -140,6 +141,7 @@ perl -i -pe 's{%{_builddir}/.*mysql.sock}{_TEST_SOCKET_}' %{buildroot}%{_libexec
|
||||
# Remove release tests
|
||||
rm %{buildroot}%{_libexecdir}/%{name}/t/manifest.t
|
||||
rm %{buildroot}%{_libexecdir}/%{name}/t/pod.t
|
||||
|
||||
cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF'
|
||||
#!/usr/bin/bash
|
||||
set -e
|
||||
@ -150,7 +152,22 @@ cp -a %{_libexecdir}/%{name}/* ./
|
||||
. $DIR/$(basename %{SOURCE4})
|
||||
%{!?with_perl_DBD_MySQL_enables_leak_test:unset EXTENDED_TESTING}
|
||||
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
|
||||
rm -rf "$DIR"
|
||||
EOF
|
||||
|
||||
@ -9,6 +9,6 @@ export MYSQL_PIDFILE=$MYSQL_DIR/mysql.pid
|
||||
export DBD_MYSQL_TESTDB=test
|
||||
export DBD_MYSQL_TESTHOST=localhost
|
||||
export DBD_MYSQL_TESTSOCKET=$MYSQL_UNIX_PORT
|
||||
export DBD_MYSQL_TESTUSER=testuser
|
||||
export DBD_MYSQL_TESTPASSWORD=testpassword
|
||||
export DBD_MYSQL_TESTUSER=testuserdbd
|
||||
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 $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);
|
||||
|
||||
# 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 &";
|
||||
system($cmd);
|
||||
is($?, 0);
|
||||
@ -30,11 +32,12 @@ while (system("/usr/bin/mysqladmin --socket=$MYSQL_UNIX_PORT ping >/dev/null 2>&
|
||||
sleep 3;
|
||||
$attempts++;
|
||||
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);
|
||||
|
||||
# Create database
|
||||
system("mysql -u root --skip-password --execute \"CREATE DATABASE IF NOT EXISTS $DBD_MYSQL_TESTDB CHARACTER SET='utf8mb4';\" 2>&1");
|
||||
is($?, 0);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user