The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

use encoding 'utf8';
use strict;
use File::Spec;
use Test::More ('no_plan');
BEGIN {
use_ok('CGI::Session');
use_ok("CGI::Session::Driver");
use_ok("CGI::Session::Driver::file");
}
my $id;
my $s;
{
ok($s = CGI::Session->new('driver:file;serializer:default', undef), 'Created CGI::Session object successfully');
$id = $s -> id();
}
diag("Warnings expected. Consult docs re 'utf8'");
ok($id, 'Session created successfully');
# Emulate CGI::Session::Driver::file.pm.
my $dir_name = File::Spec->tmpdir();
my $file_name = File::Spec->catfile($dir_name, "cgisess_$id");
$s = undef;
{
$s = CGI::Session->new('driver:file;serializer:default', $id);
}
if ($@) {
print STDERR $@;
ok(1, q|Warning: Failed to recreate session. Cannot "use 'utf8'; in conjunction with CGI::Session"|);
} else {
ok($s, 'Recreated session succeeded');
}
# Clean up /tmp as per RT 29969.
unlink $file_name;