Skip to content

Tests use NO db passwd while build recommends a secret one #493

@ballapete

Description

@ballapete

DBD::mysql version

5.013

MySQL client version

8.4.8

Server version

?

Operating system version

macOS Sonoma 14.8.5/Darwin 23.6.0

What happened?

When building I get informed:

PLEASE NOTE:

For 'make test' to run properly, you must ensure that the
database user 'root' can connect to your MySQL server
and has the proper privileges that these tests require such
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others.

mysql> CREATE USER 'root'@'localhost' IDENTIFIED BY 's3kr1t';
mysql> GRANT ALL PRIVILEGES ON test.* TO 'root'@'localhost';

But then almost all tests fail with NO password:

--->  Testing p5.34-dbd-mysql
Use of uninitialized value $line in substitution (s///) at /opt/local/lib/perl5/5.34/Text/ParseWords.pm line 20.
I will use the following settings for compiling and testing:

  cflags        (mysql_config ) = -I/opt/local/include/mysql8/mysql
  ldflags       (mysql_config ) = 
  libs          (mysql_config ) = -L/opt/local/lib/mysql8/mysql -lmysqlclient -lz -lzstd -lssl -lcrypto -lresolv
  mysql_config  (Users choice ) = /opt/local/lib/mysql8/bin/mysql_config
  nocatchstderr (default      ) = 0
  nofoundrows   (default      ) = 0
  testdb        (User's choice) = test
  testhost      (default      ) = 
  testpassword  (default      ) = 
  testport      (default      ) = 
  testsocket    (default      ) = 
  testuser      (User's choice) = root
  version       (mysql_config ) = 8.4.8

To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::mysql::INSTALL'.

Checking if libs are available for compiling...
Looks good.

Using DBI 1.647 (for perl 5.034003 on darwin-thread-multi-2level) installed in /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
Executing:  cd "/opt/local/var/macports/build/p5.34-dbd-mysql-4653e422/work/DBD-mysql-5.013" && /usr/bin/make test 
Running Mkbootstrap for mysql ()
chmod 644 "mysql.bs"
...
# Driver version is 5.013
t/00base.t .............................. ok
# DBI connect(';mysql_ssl=1;mysql_get_server_pubkey=1','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/01caching_sha2_prime.t line 21.
t/01caching_sha2_prime.t ................ skipped: no database connection
# DBI connect('','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/05dbcreate.t line 16.
t/05dbcreate.t .......................... skipped: no database connection
# DBI connect('test','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/10connect.t line 14.
t/10connect.t ........................... skipped: no database connection
t/15reconnect.t ......................... skipped: no database connection
t/16dbi-get_info.t ...................... skipped: no database connection
t/17quote.t ............................. skipped: no database connection
t/20createdrop.t ........................ skipped: no database connection
t/25lockunlock.t ........................ skipped: no database connection
t/29warnings.t .......................... skipped: no database connection
t/30insertfetch.t ....................... skipped: no database connection
t/31insertid.t .......................... skipped: no database connection
t/32insert_error.t ...................... skipped: no database connection
t/35limit.t ............................. skipped: no database connection
t/35prepare.t ........................... skipped: no database connection
t/40bindparam.t ......................... skipped: no database connection
t/40bindparam2.t ........................ skipped: no database connection
t/40bit.t ............................... skipped: no database connection
t/40blobs.t ............................. skipped: no database connection
t/40catalog.t ........................... skipped: no database connection
t/40keyinfo.t ........................... skipped: no database connection
t/40listfields.t ........................ skipped: no database connection
t/40nulls.t ............................. skipped: no database connection
t/40nulls_prepare.t ..................... skipped: no database connection
t/40numrows.t ........................... skipped: no database connection
t/40server_prepare.t .................... skipped: no database connection
t/40server_prepare_crash.t .............. skipped: no database connection
t/40server_prepare_error.t .............. skipped: no database connection
t/40types.t ............................. skipped: no database connection
t/41bindparam.t ......................... skipped: no database connection
t/41blobs_prepare.t ..................... skipped: no database connection
t/41int_min_max.t ....................... skipped: no database connection
t/42bindparam.t ......................... skipped: no database connection
t/43count_params.t ...................... skipped: no database connection
t/50chopblanks.t ........................ skipped: no database connection
t/50commit.t ............................ skipped: no database connection
t/51bind_type_guessing.t ................ skipped: no database connection
t/52comment.t ........................... skipped: no database connection
t/53comment.t ........................... skipped: no database connection
t/55utf8.t .............................. skipped: no database connection
t/55utf8_errors.t ....................... skipped: no database connection
t/55utf8_identifiers.t .................. skipped: no database connection
t/55utf8mb4.t ........................... skipped: no database connection
t/56connattr.t .......................... skipped: no database connection
t/57trackgtid.t ......................... skipped: no database connection
t/60leaks.t ............................. skipped: Skip $ENV{EXTENDED_TESTING} is not set
t/65segfault.t .......................... skipped: no database connection
t/65types.t ............................. skipped: no database connection
t/70takeimp.t ........................... skipped: no database connection
t/71impdata.t ........................... skipped: no database connection
t/75supported_sql.t ..................... skipped: no database connection
t/76multi_statement.t ................... skipped: no database connection
t/80procs.t ............................. skipped: no database connection
t/81procs.t ............................. skipped: no database connection
t/85init_command.t ...................... skipped: no database connection
t/86_bug_36972.t ........................ skipped: no database connection
t/87async.t ............................. skipped: no database connection
t/88async-multi-stmts.t ................. skipped: no database connection
t/89async-method-check.t ................ skipped: no database connection
t/91errcheck.t .......................... skipped: no database connection
t/92ssl_backronym_vulnerability.t ....... skipped: no database connection: DBI connect('test','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/lib.pl line 57.
t/92ssl_optional.t ...................... skipped: no database connection: DBI connect('test','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/lib.pl line 57.
t/92ssl_riddle_vulnerability.t .......... skipped: no database connection: DBI connect('test','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/lib.pl line 57.
t/99_bug_server_prepare_blob_null.t ..... skipped: no database connection
# DBI connect('test','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/99compression.t line 11.
t/99compression.t ....................... skipped: no database connection
# DBI connect('test','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/gh352.t line 12.
t/gh352.t ............................... skipped: no database connection
# DBI connect('test;mysql_enable_utf8mb4=1','root',...) failed: Access denied for user 'root'@'localhost' (using password: NO) at t/gh360.t line 15.
t/gh360.t ............................... skipped: no database connection
t/gh447-paramvalues.t ................... skipped: no database connection
t/manifest.t ............................ skipped: these tests are for release testing
t/pod.t ................................. ok
t/rt110983-valid-mysqlfd.t .............. skipped: no database connection
t/rt118977-zerofill.t ................... skipped: no database connection
t/rt25389-bin-case.t .................... skipped: no database connection
t/rt50304-column_info_parentheses.t ..... skipped: no database connection
t/rt61849-bind-param-buffer-overflow.t .. skipped: no database connection
t/rt75353-innodb-lock-timeout.t ......... skipped: no database connection
t/rt83494-quotes-comments.t ............. skipped: no database connection
t/rt85919-fetch-lost-connection.t ....... skipped: no database connection
t/rt86153-reconnect-fail-memory.t ....... skipped: $ENV{EXTENDED_TESTING} is not set
t/rt88006-bit-prepare.t ................. skipped: no database connection
t/rt91715.t ............................. skipped: no database connection
# mysql_get_client_version: 80408
t/version.t ............................. ok
All tests successful.
Files=82, Tests=12, 11 wallclock secs ( 0.17 usr  0.15 sys +  8.03 cusr  1.73 csys = 10.08 CPU)
Result: PASS

Do I have to pass extra parameters to Makefile.PL at build time (testsocket, testport, testpassword)?

The hint See DBD::mysql::INSTALL for details. from perl5.34 Makefile.PL --help could be misleading: MetaCPAN propagates version 4.055…

Other information

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions