<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/taskflow.git/taskflow/tests/unit/test_task.py, branch liberty-eol</title>
<subtitle>opendev.org: openstack/taskflow.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/'/>
<entry>
<title>Fix mock calls</title>
<updated>2015-07-10T13:46:00+00:00</updated>
<author>
<name>Doug Hellmann</name>
<email>doug@doughellmann.com</email>
</author>
<published>2015-07-10T13:46:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=b8d2a5f18e71a870e36719f60cfc0650a8ea686b'/>
<id>b8d2a5f18e71a870e36719f60cfc0650a8ea686b</id>
<content type='text'>
Use the proper assertion methods of the mocks.

Change-Id: I7b02f3b52012976a3ed0b8d5fc445653c0546547
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the proper assertion methods of the mocks.

Change-Id: I7b02f3b52012976a3ed0b8d5fc445653c0546547
</pre>
</div>
</content>
</entry>
<entry>
<title>Added a map and a reduce task</title>
<updated>2015-03-12T19:22:06+00:00</updated>
<author>
<name>Min Pae</name>
<email>sputnik13@gmail.com</email>
</author>
<published>2015-02-20T06:20:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=0a2928f810172e406579059291427b9ddecf843a'/>
<id>0a2928f810172e406579059291427b9ddecf843a</id>
<content type='text'>
- Added a MapFunctorTask and ReduceFunctorTask to mimic the python
  builtin functions map and reduce, respectively

Change-Id: I29cd1249e1671aedfd2d25460d746b8d2154df2b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Added a MapFunctorTask and ReduceFunctorTask to mimic the python
  builtin functions map and reduce, respectively

Change-Id: I29cd1249e1671aedfd2d25460d746b8d2154df2b
</pre>
</div>
</content>
</entry>
<entry>
<title>Use ordered[set/dict] to retain ordering</title>
<updated>2015-03-11T18:12:06+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2015-03-02T23:00:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=67f0f5146431523ca65a28b3fb66477ff2f490d0'/>
<id>67f0f5146431523ca65a28b3fb66477ff2f490d0</id>
<content type='text'>
Instead of using always using a set/dict which do not retain
use a ordered set and a ordered dict for requires, optional,
and provides and rebind mappings types so that the ordering
of these containers is maintained later when they are used.

These ordering can be useful depending on the atom type (such
as in a map and reduce tasks).

Partial-Bug: 1357117

Change-Id: I365d11bbba4aa221bc36ca15441acecf199b4d56
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of using always using a set/dict which do not retain
use a ordered set and a ordered dict for requires, optional,
and provides and rebind mappings types so that the ordering
of these containers is maintained later when they are used.

These ordering can be useful depending on the atom type (such
as in a map and reduce tasks).

Partial-Bug: 1357117

Change-Id: I365d11bbba4aa221bc36ca15441acecf199b4d56
</pre>
</div>
</content>
</entry>
<entry>
<title>Map optional arguments as well as required arguments</title>
<updated>2015-02-11T06:32:38+00:00</updated>
<author>
<name>Min Pae</name>
<email>sputnik13@gmail.com</email>
</author>
<published>2015-01-31T06:49:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=7f0c457e72a8946a01ff7a93c67e3d35e383728c'/>
<id>7f0c457e72a8946a01ff7a93c67e3d35e383728c</id>
<content type='text'>
Optional arguments that are not explicitly required are being ignored
when arguments are being mapped based on inference from atoms' execute
method signatures.  This patch adds support for mapping optional
arguments in addition to required arguments.

Change-Id: I440c02dcd901a563df512e33754b13e3c05d4155
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Optional arguments that are not explicitly required are being ignored
when arguments are being mapped based on inference from atoms' execute
method signatures.  This patch adds support for mapping optional
arguments in addition to required arguments.

Change-Id: I440c02dcd901a563df512e33754b13e3c05d4155
</pre>
</div>
</content>
</entry>
<entry>
<title>Make all/most usage of type errors follow a similar pattern</title>
<updated>2015-01-24T02:25:01+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2015-01-24T02:05:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=e417914d49458a4f0fd231497f6a4c1200cfecb2'/>
<id>e417914d49458a4f0fd231497f6a4c1200cfecb2</id>
<content type='text'>
To make it easy to add new type errors and to make the existing
ones have a common string pattern adjust the current type errors
to contain at least the following string format: '%s' (%s) where
these two places will be filled in with the object of the wrong
type and the type of that object. This information is useful when
analyzing the exception (by the user) to know exactly what they
passed in and what type it was.

This convention is not maintained where it would interpolate large
text blobs (such as in binary encoding/decoding and json decoding).

Change-Id: Id84b0e7ce684a543cc407b15016e77804e6f03ed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To make it easy to add new type errors and to make the existing
ones have a common string pattern adjust the current type errors
to contain at least the following string format: '%s' (%s) where
these two places will be filled in with the object of the wrong
type and the type of that object. This information is useful when
analyzing the exception (by the user) to know exactly what they
passed in and what type it was.

This convention is not maintained where it would interpolate large
text blobs (such as in binary encoding/decoding and json decoding).

Change-Id: Id84b0e7ce684a543cc407b15016e77804e6f03ed
</pre>
</div>
</content>
</entry>
<entry>
<title>Use the notifier type in the task class/module directly</title>
<updated>2014-12-14T03:09:03+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-12-12T23:57:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=1f4dd72e6e859f3820de5e68ece2d09c15a18b70'/>
<id>1f4dd72e6e859f3820de5e68ece2d09c15a18b70</id>
<content type='text'>
Instead of having code that is some what like the notifier
code we already have, but is duplicated and is slightly different
in the task class just move the code that was in the task class (and
doing similar actions) to instead now use a notifier that is directly
contained in the task base class for internal task triggering of
internal task events.

Breaking change: alters the capabilities of the task to process
notifications itself, most actions now must go through the task
notifier property and instead use that (update_progress still exists
as a common utility method, since it's likely the most common type
of notification that will be used).

Removes the following methods from task base class (as they are
no longer needed with a notifier attribute):

- trigger (replaced with notifier.notify)
- autobind (removed, not replaced, can be created by the user
            of taskflow in a simple manner, without requiring
            functionality in taskflow)
- bind (replaced with notifier.register)
- unbind (replaced with notifier.unregister)
- listeners_iter (replaced with notifier.listeners_iter)

Due to this change we can now also correctly proxy back events from
remote tasks to the engine for correct proxying back to the original
task.

Fixes bug 1370766

Change-Id: Ic9dfef516d72e6e32e71dda30a1cb3522c9e0be6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of having code that is some what like the notifier
code we already have, but is duplicated and is slightly different
in the task class just move the code that was in the task class (and
doing similar actions) to instead now use a notifier that is directly
contained in the task base class for internal task triggering of
internal task events.

Breaking change: alters the capabilities of the task to process
notifications itself, most actions now must go through the task
notifier property and instead use that (update_progress still exists
as a common utility method, since it's likely the most common type
of notification that will be used).

Removes the following methods from task base class (as they are
no longer needed with a notifier attribute):

- trigger (replaced with notifier.notify)
- autobind (removed, not replaced, can be created by the user
            of taskflow in a simple manner, without requiring
            functionality in taskflow)
- bind (replaced with notifier.register)
- unbind (replaced with notifier.unregister)
- listeners_iter (replaced with notifier.listeners_iter)

Due to this change we can now also correctly proxy back events from
remote tasks to the engine for correct proxying back to the original
task.

Fixes bug 1370766

Change-Id: Ic9dfef516d72e6e32e71dda30a1cb3522c9e0be6
</pre>
</div>
</content>
</entry>
<entry>
<title>Have tasks be able to provide copy() methods</title>
<updated>2014-12-06T22:46:09+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-09-13T01:49:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=dc4262e58715a170f94cb5680f8b295115b64c92'/>
<id>dc4262e58715a170f94cb5680f8b295115b64c92</id>
<content type='text'>
When a engine needs to copy a task and possibly
adjust its listeners to execute it elsewhere it
needs to be able to clone that object and have
the clone retain different properties than the
initial object; so in order to support this at
a top-level we require a new copy() method which
a task can override (or it can just use the default
implementation if it chooses to).

Part of blueprint process-executor

Change-Id: Ib29a0afdc01973eb94d41af18a9b04601cd2f152
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a engine needs to copy a task and possibly
adjust its listeners to execute it elsewhere it
needs to be able to clone that object and have
the clone retain different properties than the
initial object; so in order to support this at
a top-level we require a new copy() method which
a task can override (or it can just use the default
implementation if it chooses to).

Part of blueprint process-executor

Change-Id: Ib29a0afdc01973eb94d41af18a9b04601cd2f152
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework pieces of the task callback capability</title>
<updated>2014-12-06T22:29:24+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-10-20T06:43:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=e168f44979b34cef76a7c613a383f8b050091f33'/>
<id>e168f44979b34cef76a7c613a383f8b050091f33</id>
<content type='text'>
Unifies the bind, unbind, autobind parameters.

Also to make it easier to introspect what are a tasks associated
callbacks and events are provide a listeners_iter() method that
can be used to introspect the registered (event, callbacks) pairs that
are registered with a task.

Also adds more useful docstrings to the various callback associated
binding, unbinding functions to make it more understandable how they
are used and what they are provided.

Also makes the currently only default provided event 'update_progress'
a constant that can be referenced from the task module, which allows others
to easily find it and use it.

Change-Id: I14181a150b74fbd97f6ea976723f37c0ba4cec36
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Unifies the bind, unbind, autobind parameters.

Also to make it easier to introspect what are a tasks associated
callbacks and events are provide a listeners_iter() method that
can be used to introspect the registered (event, callbacks) pairs that
are registered with a task.

Also adds more useful docstrings to the various callback associated
binding, unbinding functions to make it more understandable how they
are used and what they are provided.

Also makes the currently only default provided event 'update_progress'
a constant that can be referenced from the task module, which allows others
to easily find it and use it.

Change-Id: I14181a150b74fbd97f6ea976723f37c0ba4cec36
</pre>
</div>
</content>
</entry>
<entry>
<title>Raise value errors instead of asserts</title>
<updated>2014-12-02T20:47:03+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-12-02T05:44:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=14ecaa45503c8a0efcb5972f342de171b4b8cd9b'/>
<id>14ecaa45503c8a0efcb5972f342de171b4b8cd9b</id>
<content type='text'>
Since asserts can be silenced using -0 and/or compiled out
we want to be more strict here and raise value errors when the
expected callable objects/functions are not actually callable.

Change-Id: Ib14e2e7329dbfcce50660f144ad4780d99f36854
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since asserts can be silenced using -0 and/or compiled out
we want to be more strict here and raise value errors when the
expected callable objects/functions are not actually callable.

Change-Id: Ib14e2e7329dbfcce50660f144ad4780d99f36854
</pre>
</div>
</content>
</entry>
<entry>
<title>Use oslotest to provide our base test case class</title>
<updated>2014-09-27T21:53:12+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-09-10T01:04:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=ce620c399a9e5cf2fd438d0193ba0d83da667a88'/>
<id>ce620c399a9e5cf2fd438d0193ba0d83da667a88</id>
<content type='text'>
The oslotest library has a nice openstack testing integrated
base class that can ensure we setup our base test case using
the right logging fixtures, test timeouts, and output fixtures
that better operate in the openstack ecosystem.

This will also allow us to remove some of the functionality
that we currently have in our base test case and replace it with
the equivalent (or better) functionality that oslotest now
provides.

Part of blueprint use-oslo-test

Change-Id: I1602d5180ec8649a1899185972750ddddf65990f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The oslotest library has a nice openstack testing integrated
base class that can ensure we setup our base test case using
the right logging fixtures, test timeouts, and output fixtures
that better operate in the openstack ecosystem.

This will also allow us to remove some of the functionality
that we currently have in our base test case and replace it with
the equivalent (or better) functionality that oslotest now
provides.

Part of blueprint use-oslo-test

Change-Id: I1602d5180ec8649a1899185972750ddddf65990f
</pre>
</div>
</content>
</entry>
</feed>
