[med-svn] [Git][med-team/toil][master] 6 commits: Accepted patch to use SubTest from pytest 9.0.1+. Closes: #1123531
Michael R. Crusoe (@crusoe)
gitlab at salsa.debian.org
Wed Jan 7 14:31:10 GMT 2026
Michael R. Crusoe pushed to branch master at Debian Med / toil
Commits:
431e3c71 by Michael R. Crusoe at 2026-01-07T14:07:09+01:00
Accepted patch to use SubTest from pytest 9.0.1+. Closes: #1123531
- - - - -
b02ef891 by Michael R. Crusoe at 2026-01-07T14:07:55+01:00
New upstream version 9.1.2
- - - - -
786ee1c7 by Michael R. Crusoe at 2026-01-07T14:07:55+01:00
New upstream version
- - - - -
d3c56458 by Michael R. Crusoe at 2026-01-07T14:08:12+01:00
Update upstream source from tag 'upstream/9.1.2'
Update to upstream version '9.1.2'
with Debian dir 09ac6c38501f97a0200318d2d23a1d986ed6522c
- - - - -
a91335ad by Michael R. Crusoe at 2026-01-07T14:10:59+01:00
Freshen version patch
- - - - -
328bbc2e by Michael R. Crusoe at 2026-01-07T14:16:08+01:00
fix subtests patch
- - - - -
8 changed files:
- debian/changelog
- debian/patches/remove_pytest-subtests.patch
- debian/patches/setting_version.patch
- src/toil/leader.py
- + src/toil/test/wdl/testfiles/gather.wdl
- src/toil/test/wdl/wdltoil_test.py
- src/toil/wdl/wdltoil.py
- version_template.py
Changes:
=====================================
debian/changelog
=====================================
@@ -1,10 +1,16 @@
-toil (9.1.0-2) UNRELEASED; urgency=medium
+toil (9.1.2-1) UNRELEASED; urgency=medium
+ [ Andreas Tille ]
* Team upload.
* Homepage moved to https://github.com/DataBiosphere/toil
* d/watch: version=5
- -- Andreas Tille <tille at debian.org> Sat, 20 Dec 2025 18:56:22 +0100
+ [ Michael R. Crusoe ]
+ * Accepted patch to use SubTest from pytest 9.0.1+. Closes: #1123531
+ * New upstream version
+ * Freshen version patch
+
+ -- Michael R. Crusoe <crusoe at debian.org> Wed, 07 Jan 2026 14:07:55 +0100
toil (9.1.0-1) unstable; urgency=medium
=====================================
debian/patches/remove_pytest-subtests.patch
=====================================
@@ -1,22 +1,25 @@
---- a/src/toil/test/src/importExportFileTest.py
-+++ b/src/toil/test/src/importExportFileTest.py
+From: Alexandre Detiste <tchet at debian.org>
+Subject: pytest-subtests has been integrated into pytest (>= 9.0.1)
+Forwarded: https://github.com/DataBiosphere/toil/pull/5430
+--- toil.orig/src/toil/test/src/importExportFileTest.py
++++ toil/src/toil/test/src/importExportFileTest.py
@@ -27,7 +27,7 @@
from toil.test import pslow as slow
import pytest
-from pytest_subtests import SubTests
-+from pytest import SubTests
++from pytest import Subtests as SubTests
def create_file(tmp_path: Path, content: str, executable: bool = False) -> Path:
---- a/src/toil/test/src/jobTest.py
-+++ b/src/toil/test/src/jobTest.py
+--- toil.orig/src/toil/test/src/jobTest.py
++++ toil/src/toil/test/src/jobTest.py
@@ -34,7 +34,7 @@
from toil.lib.misc import FileDescriptorOrPath
from toil.test import pslow as slow
-from pytest_subtests import SubTests
-+from pytest import SubTests
++from pytest import Subtests as SubTests
class TestJob:
=====================================
debian/patches/setting_version.patch
=====================================
@@ -19,17 +19,17 @@ copy/update that field manually
--- /dev/null
+++ toil/src/toil/version.py
@@ -0,0 +1,14 @@
-+baseVersion = '9.0.0'
++baseVersion = '9.1.2'
+cgcloudVersion = '1.6.0a1.dev393'
-+version = '9.0.0-fa1e35a17670e1927036914ca624bfd591f8349c'
++version = '9.1.2-355b72ba0e425619c0367562caf2a337078dba65'
+cacheTag = 'cache-local-py3.13'
+mainCacheTag = 'cache-master-py3.13'
-+distVersion = '9.0.0'
++distVersion = '9.1.2'
+exactPython = 'python3.13'
+python = 'python3.13'
-+dockerTag = '9.0.0-fa1e35a17670e1927036914ca624bfd591f8349c-py3.13'
-+currentCommit = 'fa1e35a17670e1927036914ca624bfd591f8349c'
++dockerTag = '9.1.2-355b72ba0e425619c0367562caf2a337078dba65-py3.13'
++currentCommit = '355b72ba0e425619c0367562caf2a337078dba65'
+dockerRegistry = 'quay.io/ucsc_cgl'
+dockerName = 'toil'
+dirty = False
-+cwltool_version = '3.1.20250110105449'
++cwltool_version = '3.1.20250715140722'
=====================================
src/toil/leader.py
=====================================
@@ -349,14 +349,9 @@ class Leader:
def create_status_sentinel_file(self, fail: bool) -> None:
"""Create a file in the jobstore indicating failure or success."""
logName = "failed.log" if fail else "succeeded.log"
- localLog = os.path.join(os.getcwd(), logName)
- open(localLog, "w").close()
- self.jobStore.import_file("file://" + localLog, logName, hardlink=True)
-
- if os.path.exists(
- localLog
- ): # Bandaid for Jenkins tests failing stochastically and unexplainably.
- os.remove(localLog)
+ with self.jobStore.write_shared_file_stream(logName) as file_handle:
+ # We just need an empty file, so don't write any content
+ pass
def _handledFailedSuccessor(self, successor_id: str, predecessor_id: str) -> bool:
"""
=====================================
src/toil/test/wdl/testfiles/gather.wdl
=====================================
@@ -0,0 +1,52 @@
+version 1.1
+
+workflow gather {
+ input {
+ }
+
+ scatter(number in [1, 2, 3]) {
+ call task1 {
+ input:
+ number=number
+ }
+ }
+
+ call task2 {
+ input:
+ files = task1.foo
+ }
+
+ output {
+ File outfile = task2.outfile
+ }
+}
+
+task task1 {
+
+ input {
+ Int number
+ }
+
+ command <<<
+ echo ~{number} > foo.txt
+ >>>
+
+ output {
+ File foo = "foo.txt"
+ }
+}
+
+task task2 {
+ input {
+ Array[File] files
+ }
+
+ command <<<
+ cat ~{sep=" " files} >out.txt
+ >>>
+
+ output {
+ File outfile = "out.txt"
+ }
+}
+
=====================================
src/toil/test/wdl/wdltoil_test.py
=====================================
@@ -321,6 +321,28 @@ class TestWDL:
assert "StringFileCoercion.output_file" in result
+ @needs_docker
+ def test_gather(self, tmp_path: Path) -> None:
+ """
+ Test files with the same name from different scatter tasks.
+ """
+ with get_data("test/wdl/testfiles/gather.wdl") as wdl:
+ result_json = subprocess.check_output(
+ self.base_command
+ + [
+ str(wdl),
+ "-o",
+ str(tmp_path),
+ "--logInfo",
+ "--retryCount=0"
+ ]
+ )
+ result = json.loads(result_json)
+
+ assert "gather.outfile" in result
+ assert isinstance(result["gather.outfile"], str)
+ assert open(result["gather.outfile"]).read() == "1\n2\n3\n"
+
@needs_docker
def test_wait(self, tmp_path: Path) -> None:
"""
=====================================
src/toil/wdl/wdltoil.py
=====================================
@@ -5048,6 +5048,9 @@ class WDLSectionJob(WDLBaseJob):
if subscript is not None:
# We need to include a scatter loop number.
task_path += f".{subscript}"
+ # TODO: MyPy can't tell this dict copy will have the same type
+ child_wdl_options = cast(WDLContext, dict(self._wdl_options))
+ child_wdl_options["task_path"] = task_path
if local_environment is not None:
# Bring local environment into scope
@@ -5115,7 +5118,7 @@ class WDLSectionJob(WDLBaseJob):
job: WDLBaseJob = WDLWorkflowNodeJob(
section_graph.get(node_ids[0]),
rvs,
- wdl_options=self._wdl_options,
+ wdl_options=child_wdl_options,
local=True,
)
else:
@@ -5123,7 +5126,7 @@ class WDLSectionJob(WDLBaseJob):
job = WDLWorkflowNodeListJob(
[section_graph.get(node_id) for node_id in node_ids],
rvs,
- wdl_options=self._wdl_options,
+ wdl_options=child_wdl_options,
local=True,
)
for prev_job in prev_jobs:
@@ -5158,7 +5161,7 @@ class WDLSectionJob(WDLBaseJob):
# And to fill in bindings from code not executed in this instantiation
# with Null, and filter out stuff that should leave scope.
sink = WDLCombineBindingsJob(
- leaf_rvs, wdl_options=self._wdl_options, local=True
+ leaf_rvs, wdl_options=child_wdl_options, local=True
)
# It runs inside us
self.addChild(sink)
=====================================
version_template.py
=====================================
@@ -28,7 +28,7 @@ import the expand_ function and invoke it directly with either no or exactly one
# - don't import even standard modules at global scope without renaming them
# to have leading/trailing underscores
-baseVersion = "9.1.0"
+baseVersion = "9.1.2"
cgcloudVersion = "1.6.0a1.dev393"
View it on GitLab: https://salsa.debian.org/med-team/toil/-/compare/f9a0d0726c2bf7a725ec8c0dd4259d77ad2228fd...328bbc2e298d6f0911255ed296baac5cbc060c60
--
View it on GitLab: https://salsa.debian.org/med-team/toil/-/compare/f9a0d0726c2bf7a725ec8c0dd4259d77ad2228fd...328bbc2e298d6f0911255ed296baac5cbc060c60
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260107/fe6156d6/attachment-0001.htm>
More information about the debian-med-commit
mailing list