When running functional tests, display the tool's stderr when a job ends in error.

This commit is contained in:
Nate Coraor
2008-04-04 15:40:28 +00:00
parent bf61fee03f
commit c1b6226d40
3 changed files with 27 additions and 3 deletions
+7
View File
@@ -50,6 +50,13 @@ class DatasetInterface( BaseController ):
dataset = model.Dataset.get( id )
return trans.fill_template( "dataset/errors.tmpl", dataset=dataset )
@web.expose
def stderr( self, trans, id ):
dataset = model.Dataset.get( id )
job = dataset.creating_job_associations[0].job
trans.response.set_content_type( 'text/plain' )
return job.stderr
@web.expose
def report_error( self, trans, id, email="no email provided", message="" ):
smtp_server = trans.app.config.smtp_server
+10 -2
View File
@@ -210,9 +210,17 @@ class TwillTestCase( unittest.TestCase ):
self.visit_page( "history_available" )
"""Functions associated with datasets (history items) and meta data"""
def get_job_stderr( self, id ):
self.visit_page( "dataset/stderr?id=%s" % id )
return self.last_page()
def _assert_dataset_state( self, elem, state ):
assert elem.get( 'state' ) == state, \
"Expecting dataset state '%s' but is '%s'. Dataset blurb: %s" % ( state, elem.get('state'), elem.text.strip() )
if elem.get( 'state' ) != state:
errmsg = "Expecting dataset state '%s' but is '%s'. Dataset blurb: %s\n\n" % ( state, elem.get('state'), elem.text.strip() )
errmsg += "---------------------- >> begin tool stderr << -----------------------\n"
errmsg += self.get_job_stderr( elem.get( 'id' ) ) + "\n"
errmsg += "----------------------- >> end tool stderr << ------------------------\n"
raise AssertionError( errmsg )
def check_metadata_for_string( self, patt, hid=None ):
"""Looks for 'patt' in the edit page when editing a dataset"""
+10 -1
View File
@@ -52,9 +52,18 @@ def setup():
database_connection = os.environ['GALAXY_TEST_DBURI']
else:
database_connection = 'sqlite:///' + os.path.join( db_path, 'universe.sqlite' )
if 'GALAXY_TEST_RUNNERS' in os.environ:
start_job_runners = os.environ['GALAXY_TEST_RUNNERS']
else:
start_job_runners = None
if 'GALAXY_TEST_DEF_RUNNER' in os.environ:
default_cluster_job_runner = os.environ['GALAXY_TEST_DEF_RUNNER']
else:
default_cluster_job_runner = 'local:///'
app = UniverseApplication( job_queue_workers = 5,
use_pbs = ( 'GALAXY_TEST_USE_PBS' in os.environ ),
start_job_runners = start_job_runners,
default_cluster_job_runner = default_cluster_job_runner,
template_path = "templates",
database_connection = database_connection,
file_path = file_path,