[ARVADOS] updated: 7ad2ce19e1db57314ff106bfcfa83f47c8daec2e
git at public.curoverse.com
git at public.curoverse.com
Wed Sep 10 15:36:27 EDT 2014
Summary of changes:
apps/workbench/config/application.default.yml | 14 ++++++++++----
apps/workbench/test/diagnostics/pipeline_test.rb | 15 +++++++++++----
apps/workbench/test/diagnostics_test_helper.rb | 7 +++++++
sdk/python/arvados/keep.py | 7 ++++---
sdk/python/tests/test_keep_client.py | 13 +++++++++++++
5 files changed, 45 insertions(+), 11 deletions(-)
via 7ad2ce19e1db57314ff106bfcfa83f47c8daec2e (commit)
via aa22ee6471ccd426287330705ed57719004c8ac8 (commit)
via 4ef537243058616754efde56438a193626556bca (commit)
from 5ff990155f06109c55bbb832a8dd670265d3f3d1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 7ad2ce19e1db57314ff106bfcfa83f47c8daec2e
Merge: aa22ee6 4ef5372
Author: radhika <radhika at curoverse.com>
Date: Wed Sep 10 15:36:11 2014 -0400
Merge branch 'master' into 2761-diagnostic-suite
commit aa22ee6471ccd426287330705ed57719004c8ac8
Author: radhika <radhika at curoverse.com>
Date: Wed Sep 10 15:32:39 2014 -0400
2761: wait for the pipeline run to complete or until wait time exceeds.
diff --git a/apps/workbench/config/application.default.yml b/apps/workbench/config/application.default.yml
index 2b1a49b..2106aa2 100644
--- a/apps/workbench/config/application.default.yml
+++ b/apps/workbench/config/application.default.yml
@@ -156,12 +156,18 @@ common:
# input_paths: an array of inputs for the pipeline. Use either a collection's "uuid"
# or a file's "uuid/file_name" path in this array. If the pipeline does not require
# any inputs, this can be omitted.
+ # max_wait_seconds: max time in seconds to wait for the pipeline run to complete.
+ # Default value of 30 seconds is used when this value is not provided.
#diagnostics_testing_user_tokens:
# active: eu33jurqntstmwo05h1jr3eblmi961e802703y6657s8zb14r
#diagnostics_testing_pipeline_fields:
- # tutorial pipeline:
+ # pipeline with one input:
# template_uuid: zzzzz-p5p6p-rxj8d71854j9idn
- # input_paths: [zzzzz-4zz18-u9pmni8msw9zm9n]
- # tutorial pipeline 2:
+ # input_paths: [qr1hi-4zz18-wu1s009qgnvgjc9]
+ # max_wait_seconds: 100
+ # pipeline with two inputs:
+ # template_uuid: zzzzz-p5p6p-kfwus81of6y3ezs
+ # input_paths: [2051b5d448fbd489ab00bbdedbee1ffa+91, e5e440c9c486df057e1bf6a7feac25be+77/alignment_summary_metrics.txt]
+ # max_wait_seconds: 200
+ # pipeline with no inputs:
# template_uuid: zzzzz-p5p6p-kfwus81of6y3ezs
- # input_paths: [zzzzz-4zz18-u9pmni8msw9zm9n]
diff --git a/apps/workbench/test/diagnostics/pipeline_test.rb b/apps/workbench/test/diagnostics/pipeline_test.rb
index 2f20b00..f5e903f 100644
--- a/apps/workbench/test/diagnostics/pipeline_test.rb
+++ b/apps/workbench/test/diagnostics/pipeline_test.rb
@@ -37,9 +37,12 @@ class PipelineTest < DiagnosticsTest
# This pipeline needs input. So, Run should be disabled
page.assert_selector 'a.disabled,button.disabled', text: 'Run'
- inputs_needed = page.all('.btn', text: 'Choose')
- inputs_needed.each_with_index do |input_needed, index|
- input_needed.click
+ index = 0
+ while true
+ inputs_needed = page.all('.btn', text: 'Choose')
+ break if !inputs_needed.any?
+
+ inputs_needed[0].click
within('.modal-dialog') do
look_for = pipeline_config['input_paths'][index]
found = page.has_text?(look_for)
@@ -52,15 +55,19 @@ class PipelineTest < DiagnosticsTest
end
find('button', text: 'OK').click
wait_for_ajax
+ index += 1
end
end
end
- # Run this pipeline instance
+ # All needed input are filled in. Run this pipeline now
find('a,button', text: 'Run').click
# Pipeline is running. We have a "Stop" button instead now.
page.assert_selector 'a,button', text: 'Stop'
+
+ # Wait for pipeline run to complete
+ wait_until_page_has 'Complete', pipeline_config['max_wait_seconds']
end
end
diff --git a/apps/workbench/test/diagnostics_test_helper.rb b/apps/workbench/test/diagnostics_test_helper.rb
index 2d378f3..a78bf66 100644
--- a/apps/workbench/test/diagnostics_test_helper.rb
+++ b/apps/workbench/test/diagnostics_test_helper.rb
@@ -12,4 +12,11 @@ class DiagnosticsTest < ActionDispatch::IntegrationTest
Rails.configuration.diagnostics_testing_pipeline_fields[pipeline_to_run]
end
+ def wait_until_page_has text_to_look_for, max_time=30
+ max_time = 30 if (!max_time || (max_time.to_s != max_time.to_i.to_s))
+ Timeout.timeout(max_time) do
+ loop until page.has_text?(text_to_look_for)
+ end
+ end
+
end
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list