summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Johnson <johnsomor@gmail.com>2022-06-09 18:02:21 +0000
committerTom Weininger <tweining@redhat.com>2022-06-10 11:45:32 +0200
commit2521e3ee00d91d4002b751ecea06906fdf1c9b0e (patch)
tree3642cf67e18058564d93c3c01cc02d4d65dcf9ee
parenta26e2d8898a2203a72adf28c8751e41450b1c020 (diff)
downloadtaskflow-2521e3ee00d91d4002b751ecea06906fdf1c9b0e.tar.gz
Quote string representations
networkx 2.8.3 will raise errors if certain characters, such as a colon, in the node names and the string is not quoted. This patch double quotes flow, node, and task string representations to make sure there are not issues with these characters occuring in the names. Story: 2010083 Change-Id: Ib0941cddf14dde5d6b9f97fe0224d6e6f3975226
-rw-r--r--taskflow/atom.py2
-rw-r--r--taskflow/engines/action_engine/compiler.py3
-rw-r--r--taskflow/flow.py2
-rw-r--r--taskflow/tests/unit/patterns/test_graph_flow.py4
-rw-r--r--taskflow/tests/unit/patterns/test_linear_flow.py4
-rw-r--r--taskflow/tests/unit/patterns/test_unordered_flow.py4
-rw-r--r--taskflow/tests/unit/test_task.py4
7 files changed, 12 insertions, 11 deletions
diff --git a/taskflow/atom.py b/taskflow/atom.py
index 6e41204..949c036 100644
--- a/taskflow/atom.py
+++ b/taskflow/atom.py
@@ -382,7 +382,7 @@ class Atom(object):
"""
def __str__(self):
- return "%s==%s" % (self.name, misc.get_version_string(self))
+ return '"%s==%s"' % (self.name, misc.get_version_string(self))
def __repr__(self):
return '<%s %s>' % (reflection.get_class_name(self), self)
diff --git a/taskflow/engines/action_engine/compiler.py b/taskflow/engines/action_engine/compiler.py
index c72506a..a88c384 100644
--- a/taskflow/engines/action_engine/compiler.py
+++ b/taskflow/engines/action_engine/compiler.py
@@ -65,7 +65,8 @@ class Terminator(object):
return self._name
def __str__(self):
- return "%s[$]" % (self._flow,)
+ flow_name = ("%s" % self._flow).strip('"')
+ return '"%s[$]"' % flow_name
class Compilation(object):
diff --git a/taskflow/flow.py b/taskflow/flow.py
index 3b974f7..03be481 100644
--- a/taskflow/flow.py
+++ b/taskflow/flow.py
@@ -118,7 +118,7 @@ class Flow(object):
cls_name = reflection.get_class_name(self)
if cls_name.startswith(_CHOP_PAT):
cls_name = cls_name[_CHOP_PAT_LEN:]
- return "%s: %s(len=%d)" % (cls_name, self.name, len(self))
+ return '"%s: %s(len=%d)"' % (cls_name, self.name, len(self))
@property
def provides(self):
diff --git a/taskflow/tests/unit/patterns/test_graph_flow.py b/taskflow/tests/unit/patterns/test_graph_flow.py
index ef33f61..0fa7560 100644
--- a/taskflow/tests/unit/patterns/test_graph_flow.py
+++ b/taskflow/tests/unit/patterns/test_graph_flow.py
@@ -39,7 +39,7 @@ class GraphFlowTest(test.TestCase):
def test_graph_flow_stringy(self):
f = gf.Flow('test')
- expected = 'graph_flow.Flow: test(len=0)'
+ expected = '"graph_flow.Flow: test(len=0)"'
self.assertEqual(expected, str(f))
task1 = _task(name='task1')
@@ -47,7 +47,7 @@ class GraphFlowTest(test.TestCase):
task3 = _task(name='task3')
f = gf.Flow('test')
f.add(task1, task2, task3)
- expected = 'graph_flow.Flow: test(len=3)'
+ expected = '"graph_flow.Flow: test(len=3)"'
self.assertEqual(expected, str(f))
def test_graph_flow_starts_as_empty(self):
diff --git a/taskflow/tests/unit/patterns/test_linear_flow.py b/taskflow/tests/unit/patterns/test_linear_flow.py
index d96835e..682467b 100644
--- a/taskflow/tests/unit/patterns/test_linear_flow.py
+++ b/taskflow/tests/unit/patterns/test_linear_flow.py
@@ -28,7 +28,7 @@ class LinearFlowTest(test.TestCase):
def test_linear_flow_stringy(self):
f = lf.Flow('test')
- expected = 'linear_flow.Flow: test(len=0)'
+ expected = '"linear_flow.Flow: test(len=0)"'
self.assertEqual(expected, str(f))
task1 = _task(name='task1')
@@ -36,7 +36,7 @@ class LinearFlowTest(test.TestCase):
task3 = _task(name='task3')
f = lf.Flow('test')
f.add(task1, task2, task3)
- expected = 'linear_flow.Flow: test(len=3)'
+ expected = '"linear_flow.Flow: test(len=3)"'
self.assertEqual(expected, str(f))
def test_linear_flow_starts_as_empty(self):
diff --git a/taskflow/tests/unit/patterns/test_unordered_flow.py b/taskflow/tests/unit/patterns/test_unordered_flow.py
index c5d14d3..c592906 100644
--- a/taskflow/tests/unit/patterns/test_unordered_flow.py
+++ b/taskflow/tests/unit/patterns/test_unordered_flow.py
@@ -28,7 +28,7 @@ class UnorderedFlowTest(test.TestCase):
def test_unordered_flow_stringy(self):
f = uf.Flow('test')
- expected = 'unordered_flow.Flow: test(len=0)'
+ expected = '"unordered_flow.Flow: test(len=0)"'
self.assertEqual(expected, str(f))
task1 = _task(name='task1')
@@ -36,7 +36,7 @@ class UnorderedFlowTest(test.TestCase):
task3 = _task(name='task3')
f = uf.Flow('test')
f.add(task1, task2, task3)
- expected = 'unordered_flow.Flow: test(len=3)'
+ expected = '"unordered_flow.Flow: test(len=3)"'
self.assertEqual(expected, str(f))
def test_unordered_flow_starts_as_empty(self):
diff --git a/taskflow/tests/unit/test_task.py b/taskflow/tests/unit/test_task.py
index 32b3e45..eed9293 100644
--- a/taskflow/tests/unit/test_task.py
+++ b/taskflow/tests/unit/test_task.py
@@ -86,11 +86,11 @@ class TaskTest(test.TestCase):
def test_task_str(self):
my_task = MyTask(name='my')
- self.assertEqual('my==1.0', str(my_task))
+ self.assertEqual('"my==1.0"', str(my_task))
def test_task_repr(self):
my_task = MyTask(name='my')
- self.assertEqual('<%s.MyTask my==1.0>' % __name__, repr(my_task))
+ self.assertEqual('<%s.MyTask "my==1.0">' % __name__, repr(my_task))
def test_no_provides(self):
my_task = MyTask()