mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
When running functional tests, display the tool's stderr when a job ends in error.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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"""
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user