buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Schröder>
Subject unpredictable behavior of test.using :integration
Date Wed, 21 Oct 2009 07:32:23 GMT
hi there,

we are experiencing somewhat strange behavior when using integration  

we have a setup where a project has n subprojects and only one of them  
has tests that should be executed as integration-tests.

we are using environment-variables to let buildr include some test- 
classes that are only executed on our system-test-servers.

this works very well: compiles, package artifacts, calls integration- 
setup, performs-tests, integration-teardown

on the other hand we have the same setup but with a single project  
without subprojects, where the integration setup is missing, so the  
system-tests fail without a system to test. in that project i have to  
call the integration-target directly to have the desired behavior.

the builds are quite complex so i wont include them here, but i played  
around a little bit with a dummy project (see below).

the things i dont understand are:

1. why are setup and teardown called for all projects even though they  
are never configured with :integration
2. why are all tests executed as :integration if you just configure it  
in the parent project
3. under wich circumstances will the integration-target get invoked

module SystemTests
   include Extension

   after_define do |project|
     info "after define for #{project}"
     #project.test.using :integration
     project.integration.setup do
       info "-" * 50 + " integeration setup for #{project}"

     project.integration.teardown do
       info "-" * 50 + " integeration teardown for #{project}"


class Buildr::Project
   include SystemTests

repositories.remote << ''

info "define all"
define 'all' do

   info "define subA"
   define 'subA' do
     info "subA goes here"
     #test.using :integration

   info "define subB"
   define 'subB' do
     info "subB goes here"
     #test.using :junit

   info "all goes here"

   test.using :integration


View raw message