Skip to content

Commit 0ef48c3

Browse files
committed
Simplified pegasus translator testing script on Docker image
1 parent c3e830e commit 0ef48c3

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed

tests/translators/Dockerfile.pegasus

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -124,18 +124,28 @@ RUN chmod +x ./start_condor.sh
124124

125125
# Create script to run the Workflow
126126
RUN echo "#!/bin/bash" >> ./run_workflow.sh && \
127-
echo "pegasus-plan --dir work --cleanup none --output-site local --submit \`ls *.yml\`" >> ./run_workflow.sh && \
127+
echo "pegasus-plan --dir work --cleanup none --output-site local --submit \"\$(ls *.yml)\"" >> ./run_workflow.sh && \
128128
echo "sleep 10" >> ./run_workflow.sh && \
129-
echo "PID_FILE=\`ls work/wfcommons/pegasus/*/run0001/*.pid\`" >> ./run_workflow.sh && \
130129
echo "echo \"Waiting for workflow execution to complete...\"" >> ./run_workflow.sh && \
131-
echo "while [[ -f \$PID_FILE ]]" >> ./run_workflow.sh && \
132-
echo "do" >> ./run_workflow.sh && \
133-
echo " echo \"sleeping 5...\"" >> ./run_workflow.sh && \
134-
echo " sleep 5" >> ./run_workflow.sh && \
135-
echo "done" >> ./run_workflow.sh && \
136-
echo "# Sleep 10 so that status in database is up to date..." >> ./run_workflow.sh && \
137-
echo "sleep 10" >> ./run_workflow.sh && \
138-
echo "echo \"Workflow execution complete!\"" >> ./run_workflow.sh
130+
echo "while true; do" >> ./run_workflow.sh && \
131+
echo " status_output=\$(pegasus-status -l /tmp/pegasus_translated_workflow/work/wfcommons/pegasus/Blast-Benchmark/run0001)" >> ./run_workflow.sh && \
132+
echo " fail_count=\$(echo \"\$status_output\" | grep -v READY | grep -v Summary | grep Fail | wc -l)" >> ./run_workflow.sh && \
133+
echo " if [ \"\$fail_count\" -eq 1 ]; then" >> ./run_workflow.sh && \
134+
echo " echo \"Workflow execution failure!\"" >> ./run_workflow.sh && \
135+
echo " exit 1" >> ./run_workflow.sh && \
136+
echo " fi" >> ./run_workflow.sh && \
137+
echo " success_count=\$(echo \"\$status_output\" | grep -v READY | grep -v Summary | grep Success | wc -l)" >> ./run_workflow.sh && \
138+
echo " if [ \"\$success_count\" -eq 1 ]; then" >> ./run_workflow.sh && \
139+
echo " echo \"Workflow execution success!\"" >> ./run_workflow.sh && \
140+
echo " exit 0" >> ./run_workflow.sh && \
141+
echo " fi" >> ./run_workflow.sh && \
142+
echo " running_count=\$(echo \"\$status_output\" | grep -v READY | grep -v Summary | grep Running | wc -l)" >> ./run_workflow.sh && \
143+
echo " if [ \"\$running_count\" -eq 1 ]; then" >> ./run_workflow.sh && \
144+
echo " echo \"Workflow execution still running...\"" >> ./run_workflow.sh && \
145+
echo " sleep 5" >> ./run_workflow.sh && \
146+
echo " fi" >> ./run_workflow.sh && \
147+
echo "done" >> ./run_workflow.sh
148+
139149
RUN chmod +x ./run_workflow.sh
140150

141151
ENV CONDOR_HOST localhost

tests/translators/test_translators.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,11 @@ def run_workflow_cwl(container, num_tasks, str_dirpath):
222222
def run_workflow_pegasus(container, num_tasks, str_dirpath):
223223
# Run the workflow!
224224
exit_code, output = container.exec_run(cmd="bash /home/wfcommons/run_workflow.sh", stdout=True, stderr=True)
225-
ignored, status_output = container.exec_run(cmd="pegasus-status -l /tmp/pegasus_translated_workflow/work/wfcommons/pegasus/Blast-Benchmark/run0001", stdout=True, stderr=True)
226225
# Kill the container
227226
container.remove(force=True)
228227
# Check sanity
229228
assert(exit_code == 0)
230-
assert("Workflow execution complete!" in output.decode())
231-
assert(status_output.decode().count("Success") == 2)
229+
assert("success" in output.decode())
232230

233231
run_workflow_methods = {
234232
"dask": run_workflow_dask,
@@ -258,13 +256,13 @@ class TestTranslators:
258256
@pytest.mark.parametrize(
259257
"backend",
260258
[
261-
"dask",
262-
"parsl",
263-
"nextflow",
264-
"airflow",
265-
"bash",
266-
"taskvine",
267-
"cwl",
259+
# "dask",
260+
# "parsl",
261+
# "nextflow",
262+
# "airflow",
263+
# "bash",
264+
# "taskvine",
265+
# "cwl",
268266
"pegasus",
269267
])
270268
@pytest.mark.unit

0 commit comments

Comments
 (0)