Skip to content

Commit

Permalink
Allow Cylc VIP to work with named runs.
Browse files Browse the repository at this point in the history
  • Loading branch information
wxtim committed Jan 19, 2023
1 parent fb63772 commit 7324ca1
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 3 deletions.
4 changes: 2 additions & 2 deletions cylc/flow/scripts/validate_reinstall.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,12 +162,12 @@ def vro_cli(parser: COP, options: 'Values', workflow_id: str):
)
return 1

# Run reload if workflow is running, else play:
# Run reload if workflow is running or paused:
if workflow_running:
log_subcommand('reload', workflow_id)
cylc_reload(options, workflow_id)

# run play anyway, to resume a paused workflow:
# run play anyway, to play a stopped workflow:
else:
cleanup_sysargv(
'play',
Expand Down
2 changes: 1 addition & 1 deletion cylc/flow/workflow_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -1737,7 +1737,7 @@ def install_workflow(
install_log.info(f'INSTALLED {named_run} from {source}')
print(f'INSTALLED {named_run} from {source}')
close_log(install_log)
return source, rundir, workflow_name
return source, rundir, named_run


def get_run_dir_info(
Expand Down
1 change: 1 addition & 0 deletions tests/functional/cylc-combination-scripts/06-vip-named-run
45 changes: 45 additions & 0 deletions tests/functional/cylc-combination-scripts/06-vip-named-run.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
# Copyright (C) NIWA & British Crown (Met Office) & Contributors.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

#------------------------------------------------------------------------------
# Test `cylc vip` (Validate Install Play)

. "$(dirname "$0")/test_header"
set_test_number 5

WORKFLOW_NAME="cylctb-x$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6)"

cp -r "${TEST_SOURCE_DIR}/${TEST_NAME_BASE}/flow.cylc" .
cp -r "${TEST_SOURCE_DIR}/${TEST_NAME_BASE}/reference.log" .

run_ok "${TEST_NAME_BASE}-from-path" \
cylc vip --no-detach --debug \
--workflow-name "${WORKFLOW_NAME}" \
--initial-cycle-point=1300 \
--run-name sardine \
--reference-test \

grep_ok "13000101T0000Z" "${TEST_NAME_BASE}-from-path.stdout"

grep "\$" "${TEST_NAME_BASE}-from-path.stdout" > VIPOUT.txt

named_grep_ok "${TEST_NAME_BASE}-it-validated" "$ cylc validate" "VIPOUT.txt"
named_grep_ok "${TEST_NAME_BASE}-it-installed" "$ cylc install" "VIPOUT.txt"
named_grep_ok "${TEST_NAME_BASE}-it-played" "$ cylc play" "VIPOUT.txt"

purge
exit 0

0 comments on commit 7324ca1

Please sign in to comment.