Skip to content

Commit

Permalink
use file::temp for tempdir instead of path::tiny
Browse files Browse the repository at this point in the history
This may fix the spurious failures on Travis...
  • Loading branch information
preaction committed Nov 6, 2017
1 parent 8b6c500 commit 1e0eec7
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 14 deletions.
7 changes: 4 additions & 3 deletions lib/Statocles/Test.pm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ our $VERSION = '0.087';

use Statocles::Base;
use Statocles::Util qw( dircopy derp );
use File::Temp;

use base qw( Exporter );
our @EXPORT_OK = qw(
Expand Down Expand Up @@ -68,8 +69,8 @@ deploy dir.
sub build_test_site_apps {
my ( $share_dir, %site_args ) = @_;

my $build_dir = Path::Tiny->tempdir;
my $deploy_dir = Path::Tiny->tempdir;
my $build_dir = File::Temp->newdir;
my $deploy_dir = File::Temp->newdir;

$site_args{build_store}{path} = $build_dir;
$site_args{deploy}{path} = $deploy_dir;
Expand Down Expand Up @@ -250,7 +251,7 @@ temporary directories
sub build_temp_site {
my ( $share_dir ) = @_;

my $tmp = Path::Tiny->tempdir;
my $tmp = File::Temp->newdir;
dircopy $share_dir->child( qw( app blog ) ), $tmp->child( 'blog' );
dircopy $share_dir->child( 'theme' ), $tmp->child( 'theme' );
$tmp->child( 'build_site' )->mkpath;
Expand Down
8 changes: 6 additions & 2 deletions t/site/build_and_deploy.t
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ use My::Test;
use Statocles::Site;
my $SHARE_DIR = path( __DIR__, '..', 'share' );

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps( $SHARE_DIR );
my ( $site, $build_t, $deploy_t ) = build_test_site_apps( $SHARE_DIR );
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

sub test_page_content {
my ( $site, $page, $dir ) = @_;
Expand Down Expand Up @@ -110,13 +112,15 @@ subtest 'deploy' => sub {
};

subtest 'base URL with folder rewrites content' => sub {
my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
base_url => '/', # The default
deploy => {
base_url => 'http://example.com/deploy/',
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

subtest 'build' => sub {
$site->build;
Expand Down
4 changes: 3 additions & 1 deletion t/site/data.t
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use Test::Lib;
use My::Test;
my $SHARE_DIR = path( __DIR__, '..', 'share' );

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
base_url => 'http://example.com/test',
deploy => {
Expand All @@ -13,6 +13,8 @@ my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
profile_url => '/profile',
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

sub test_page_content {
my ( $site, $page, $dir, $deploy ) = @_;
Expand Down
4 changes: 3 additions & 1 deletion t/site/events.t
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ use Statocles::Page::Plain;
my $SHARE_DIR = path( __DIR__, '..', 'share' );

subtest 'build events' => sub {
my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps( $SHARE_DIR );
my ( $site, $build_t, $deploy_t ) = build_test_site_apps( $SHARE_DIR );
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

$site->on( 'before_build_write', sub {
subtest 'before_build_write' => sub {
Expand Down
12 changes: 9 additions & 3 deletions t/site/index.t
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ use Mojo::DOM;
my $SHARE_DIR = path( __DIR__, '..', 'share' );

sub test_site {
my ( $site, $build_dir, $deploy_dir ) = @_;
my ( $site, $build_t, $deploy_t ) = @_;
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

subtest 'build' => sub {
$site->build;
Expand Down Expand Up @@ -82,14 +84,16 @@ subtest 'index links in basic app' => sub {
store => $SHARE_DIR->child( qw( app basic ) ),
);

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
base_url => 'http://example.com/mysite',
index => '/page/foo/other.html',
apps => {
basic => $basic,
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

$site->build;

Expand Down Expand Up @@ -120,13 +124,15 @@ subtest 'allow document path in index' => sub {
store => $SHARE_DIR->child( qw( app basic ) ),
);

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
index => '/page/foo/other.markdown',
apps => {
basic => $basic,
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

$site->build;

Expand Down
4 changes: 3 additions & 1 deletion t/site/nav.t
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use Test::Lib;
use My::Test;
my $SHARE_DIR = path( __DIR__, '..', 'share' );

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
base_url => 'http://example.com',
deploy => {
Expand All @@ -23,6 +23,8 @@ my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
],
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

subtest 'nav( NAME ) method' => sub {
my @links = $site->nav( 'main' );
Expand Down
4 changes: 3 additions & 1 deletion t/site/sitemap_and_robots.t
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,16 @@ my $blog = Statocles::App::Blog->new(
page_size => 2,
);

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
apps => {
blog => $blog,
},
index => '/blog',
base_url => 'http://example.com',
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

my @pages = map { $_->pages } values %{ $site->apps };
my $today = DateTime::Moonpig->now( time_zone => 'local' )->strftime( '%Y-%m-%d' );
Expand Down
8 changes: 6 additions & 2 deletions t/site/warnings.t
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,15 @@ subtest 'build two pages with same path' => sub {
],
);

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
apps => {
static => $static,
basic => $basic,
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

my ( $out, $err, $exit ) = capture {
$site->build;
Expand Down Expand Up @@ -68,12 +70,14 @@ subtest 'app generates two pages with the same path' => sub {
],
);

my ( $site, $build_dir, $deploy_dir ) = build_test_site_apps(
my ( $site, $build_t, $deploy_t ) = build_test_site_apps(
$SHARE_DIR,
apps => {
test => $app,
},
);
my $build_dir = path( $build_t );
my $deploy_dir = path( $deploy_t );

my ( $out, $err, $exit ) = capture {
$site->build;
Expand Down

0 comments on commit 1e0eec7

Please sign in to comment.