mariadb/mysql-test/suite/s3/suite.pm
Daniel Black c7edbe5bb1 MDEV-24366: s3 test postfix - use default for S3_BUCKET
and S3_HOST_NAME.

Required environment variables are now S3_ACCESS_KEY and S3_SECRET_KEY.

Or a running minio instance on localhost:9000.
2021-02-11 12:51:29 +11:00

67 lines
1.2 KiB
Perl

package My::Suite::S3;
use Socket;
@ISA = qw(My::Suite);
return "Need S3 engine" unless $::mysqld_variables{'s3'} eq "ON" or $ENV{HA_S3_SO};
my $paddr = sockaddr_in(9000, INADDR_ANY);
my $protocol = getprotobyname("tcp");
socket(SOCK, PF_INET, SOCK_STREAM, $protocol);
if(connect(SOCK, $paddr))
{
$ENV{'S3_HOST_NAME'} = "127.0.0.1";
$ENV{'S3_PORT'} = 9000;
$ENV{'S3_BUCKET'} = "storage-engine";
$ENV{'S3_ACCESS_KEY'} = "minio";
$ENV{'S3_SECRET_KEY'} = "minioadmin";
$ENV{'S3_REGION'} = "";
$ENV{'S3_PROTOCOL_VERSION'} = "Auto";
$ENV{'S3_USE_HTTP'} = "ON";
}
else
{
if (!$ENV{'S3_HOST_NAME'})
{
$ENV{'S3_HOST_NAME'} = "s3.amazonaws.com";
}
if (!$ENV{'S3_BUCKET'})
{
$ENV{'S3_BUCKET'} = "MariaDB";
}
if (!$ENV{'S3_REGION'})
{
$ENV{'S3_REGION'} = "";
}
if (!$ENV{'S3_ACCESS_KEY'})
{
return "Environment variable S3_ACCESS_KEY need to be set";
}
if (!$ENV{'S3_SECRET_KEY'})
{
return "Environment variable S3_SECRET_KEY need to be set";
}
if (!$ENV{'S3_PROTOCOL_VERSION'})
{
$ENV{'S3_PROTOCOL_VERSION'} = "Auto";
}
if (!$ENV{'S3_PORT'})
{
$ENV{'S3_PORT'} = 0;
}
if (!$ENV{'S3_USE_HTTP'})
{
$ENV{'S3_USE_HTTP'} = "OFF";
}
}
bless { };