From: Peter Rabbitson Date: Thu, 7 Jan 2016 17:37:28 +0000 (+0100) Subject: Revert sloppy workaround in dabde0bc5, addressed by prev. commit X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2c649fafe996a7ee5b85b229a9ed2128b0e7ee1f;p=dbsrgits%2FDBIx-Class.git Revert sloppy workaround in dabde0bc5, addressed by prev. commit Tighten up the Firebird setup, add an explicit travis-brewed 5.10 smoke and add extra randomness to the testing order in t/750firebird.t Tested to bits with: --- a/maint/travis-ci_scripts/40_script.bash +++ b/maint/travis-ci_scripts/40_script.bash @@ -28,15 +28,17 @@ if [[ "$CLEANTEST" = "true" ]] ; then run_or_err "Prepare blib" "make pure_all" run_harness_tests else - PROVECMD="prove -lrswj$VCPU_USE xt t" + PROVECMD="prove -lrswj$VCPU_USE t/750firebird.t" # FIXME - temporary, until Package::Stash is fixed if perl -M5.010 -e 1 &>/dev/null ; then PROVECMD="$PROVECMD -T" fi + for f in $(seq 200) ; do echo_err "$(tstamp) running tests with \`$PROVECMD\`" $PROVECMD 2> >(tee "$TEST_STDERR_LOG") + done fi TEST_T1=$SECONDS Results at: https://travis-ci.org/ribasushi/dbix-class/builds/100894293 --- diff --git a/.travis.yml b/.travis.yml index d1755c0..fc6de77 100644 --- a/.travis.yml +++ b/.travis.yml @@ -62,6 +62,7 @@ env: CLEANTEST=true perl: - "5.8" + - "5.10" - "5.22-extras" matrix: @@ -79,6 +80,12 @@ matrix: env: - CLEANTEST=false + - perl: "5.10" + sudo: required + dist: precise + env: + - CLEANTEST=false + - perl: "5.22-extras" sudo: required dist: precise diff --git a/maint/travis-ci_scripts/10_before_install.bash b/maint/travis-ci_scripts/10_before_install.bash index 9c54ce3..267ca19 100755 --- a/maint/travis-ci_scripts/10_before_install.bash +++ b/maint/travis-ci_scripts/10_before_install.bash @@ -132,27 +132,19 @@ if [[ "$CLEANTEST" != "true" ]]; then send "\177\177\177\177yes\r" expect "Password for SYSDBA" send "123\r" - sleep 1 + sleep 2 expect eof ' # creating testdb # FIXME - this step still fails from time to time >:((( # has to do with the FB reconfiguration I suppose # for now if it fails twice - simply skip FB testing - for i in 1 2 ; do + for i in 1 2 3 ; do run_or_err "Re-configuring Firebird" " sync + sleep 5 DEBIAN_FRONTEND=text sudo expect -c '$EXPECT_FB_SCRIPT' - sleep 1 - sync - # restart the server for good measure - sudo /etc/init.d/firebird2.5-super stop || true - sleep 1 - sync - sudo /etc/init.d/firebird2.5-super start - sleep 1 - sync " if run_or_err "Creating Firebird TestDB" \ diff --git a/t/750firebird.t b/t/750firebird.t index f5bd6e6..1066132 100644 --- a/t/750firebird.t +++ b/t/750firebird.t @@ -5,6 +5,7 @@ use Test::More; use Test::Exception; use DBIx::Class::Optional::Dependencies (); use Scope::Guard (); +use List::Util 'shuffle'; use Try::Tiny; use lib qw(t/lib); use DBICTest; @@ -36,20 +37,11 @@ plan skip_all => join (' ', my $schema; -my @test_order = map { "DBICTEST_FIREBIRD$_" } - DBICTest::RunMode->is_plain - ? ('', '_INTERBASE', '_ODBC') # Least likely to fail - : ('_ODBC', '_INTERBASE' , ''); # Most likely to fail - -for my $prefix (@test_order) { SKIP: { +for my $prefix (shuffle keys %$env2optdep) { SKIP: { skip ("Testing with ${prefix}_DSN needs " . DBIx::Class::Optional::Dependencies->req_missing_for( $env2optdep->{$prefix} ), 1) unless DBIx::Class::Optional::Dependencies->req_ok_for($env2optdep->{$prefix}); - skip ("DBD::InterBase crashes if Firebird or ODBC are also loaded", 1) - if $prefix eq 'DBICTEST_FIREBIRD_INTERBASE' and - ($ENV{DBICTEST_FIREBIRD_DSN} or $ENV{DBICTEST_FIREBIRD_ODBC_DSN}); - my ($dsn, $user, $pass) = map { $ENV{"${prefix}_$_"} } qw/DSN USER PASS/; note "Testing with ${prefix}_DSN";