<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/taskflow.git/taskflow/tests/unit/test_utils.py, branch 0.6.0</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>Move over to using oslo.utils [reflection, uuidutils]</title>
<updated>2014-12-18T21:55:41+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-12-09T02:58:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=4e514f41e57983e728db9025126df6f791a2594a'/>
<id>4e514f41e57983e728db9025126df6f791a2594a</id>
<content type='text'>
The reflection module is now part of oslo.utils so we should
remove our local version and use that version instead; this
also goes for the uuidutils module which is now part of
oslo.utils as well so we no longer need our local version
copied from the incubator...

Note that one reflection method `find_subclasses` which was to
specific to taskflow is now moved to the misc utility module
instead of its prior home in the reflection module.

Change-Id: I069881c80b0b2916cc0c414992b80171f7eeb79f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The reflection module is now part of oslo.utils so we should
remove our local version and use that version instead; this
also goes for the uuidutils module which is now part of
oslo.utils as well so we no longer need our local version
copied from the incubator...

Note that one reflection method `find_subclasses` which was to
specific to taskflow is now moved to the misc utility module
instead of its prior home in the reflection module.

Change-Id: I069881c80b0b2916cc0c414992b80171f7eeb79f
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a tiny clamp helper to clamp the 'on_progress' value</title>
<updated>2014-12-14T01:13:07+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-12-13T07:03:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=cdfd8ece61c3340a3de73005ea7b44d0383223fd'/>
<id>cdfd8ece61c3340a3de73005ea7b44d0383223fd</id>
<content type='text'>
Add a misc.clamp function that will clamp a value to a given
range (it can also call a callback if clamping occurs). Use it
to clamp the progress value that was previously clamped with
a set of customized logic that can now be replaced with a more
generalized logic that can be shared.

Change-Id: I8369dbb61f73a60932d9e15c8b4d06db249ea38e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a misc.clamp function that will clamp a value to a given
range (it can also call a callback if clamping occurs). Use it
to clamp the progress value that was previously clamped with
a set of customized logic that can now be replaced with a more
generalized logic that can be shared.

Change-Id: I8369dbb61f73a60932d9e15c8b4d06db249ea38e
</pre>
</div>
</content>
</entry>
<entry>
<title>When creating daemon threads use the bundled threading_utils</title>
<updated>2014-11-19T19:32:13+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-10-09T21:28:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=c543dc20669aa4de645251d0418fd0e6e42b9557'/>
<id>c543dc20669aa4de645251d0418fd0e6e42b9557</id>
<content type='text'>
Instead of creating daemon threads using the threads module directly
use our small utility file to create the daemon thread on our behalf
and set the appropriate attributes to ensure it's a daemon thread.

This change replaces the existing locations where we were doing this
manually and uses the threading_utils helper function uniformly instead.

Change-Id: I535cee8a63407f753cf812df53c4f5bc83e0c9ae
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of creating daemon threads using the threads module directly
use our small utility file to create the daemon thread on our behalf
and set the appropriate attributes to ensure it's a daemon thread.

This change replaces the existing locations where we were doing this
manually and uses the threading_utils helper function uniformly instead.

Change-Id: I535cee8a63407f753cf812df53c4f5bc83e0c9ae
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove attrdict and just use existing types</title>
<updated>2014-10-19T03:37:02+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-08-22T06:59:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=7fe6bf0d6b3fa1dc0345ab0e9af4909c3f5b9549'/>
<id>7fe6bf0d6b3fa1dc0345ab0e9af4909c3f5b9549</id>
<content type='text'>
In order to make it simpler (and less code) just prefer to use
object types that already exist instead of trying to make dictionaries
also behave like objects.

For those that really need this kind of functionality:

https://pypi.python.org/pypi/attrdict

Change-Id: Ib7ddfa517f0500082fafac2c3e53fd6a158a6ddf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In order to make it simpler (and less code) just prefer to use
object types that already exist instead of trying to make dictionaries
also behave like objects.

For those that really need this kind of functionality:

https://pypi.python.org/pypi/attrdict

Change-Id: Ib7ddfa517f0500082fafac2c3e53fd6a158a6ddf
</pre>
</div>
</content>
</entry>
<entry>
<title>Hoist the notifier to its own module</title>
<updated>2014-10-18T19:47:27+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-06-24T19:47:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=bf84288aa0fca3bc5b5582375d145d2966e10c0a'/>
<id>bf84288aa0fca3bc5b5582375d145d2966e10c0a</id>
<content type='text'>
The notifier module needs to be hoisted out of the misc utility
file so that it can be depended on existing by users in a well
defined (non-utility) location.

This change does this hoisting process &amp; creates a new module
and places the existing code there, then creates a deprecated
proxy that exists at the old location (this will be removed
in the next version + 1).

In a future change (in 0.5) we can remove this old location and
remove all references to the previous location (until then we
must keep the old location being used to ensure subclass checks
and other types checks function properly).

Part of blueprint top-level-types

Change-Id: I47fac110adf7cec5c859c2e055c1ceb1f25a7fbd
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The notifier module needs to be hoisted out of the misc utility
file so that it can be depended on existing by users in a well
defined (non-utility) location.

This change does this hoisting process &amp; creates a new module
and places the existing code there, then creates a deprecated
proxy that exists at the old location (this will be removed
in the next version + 1).

In a future change (in 0.5) we can remove this old location and
remove all references to the previous location (until then we
must keep the old location being used to ensure subclass checks
and other types checks function properly).

Part of blueprint top-level-types

Change-Id: I47fac110adf7cec5c859c2e055c1ceb1f25a7fbd
</pre>
</div>
</content>
</entry>
<entry>
<title>Move failure to its own type specific module</title>
<updated>2014-10-18T19:47:02+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-06-24T02:08:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=f2ea4f128808316708a3854b3a7055e89773c061'/>
<id>f2ea4f128808316708a3854b3a7055e89773c061</id>
<content type='text'>
The failure module needs to be hoisted out of the misc utility
file so that it can be depended on existing by users in a well
defined (non-utility) location.

This change does this hoisting process &amp; creates a new module
and places the existing code there, then creates a deprecated
proxy that exists at the old location (this will be removed
in the next version + 1).

In a future change (in 0.5) we can remove this old location and
remove all references to the previous location (until then we
must keep the old location being used to ensure subclass checks
and other types checks function properly).

Part of blueprint top-level-types

Change-Id: I7d13ad1e9e5f5ecc90ab81949cc92ddf7309f13c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The failure module needs to be hoisted out of the misc utility
file so that it can be depended on existing by users in a well
defined (non-utility) location.

This change does this hoisting process &amp; creates a new module
and places the existing code there, then creates a deprecated
proxy that exists at the old location (this will be removed
in the next version + 1).

In a future change (in 0.5) we can remove this old location and
remove all references to the previous location (until then we
must keep the old location being used to ensure subclass checks
and other types checks function properly).

Part of blueprint top-level-types

Change-Id: I7d13ad1e9e5f5ecc90ab81949cc92ddf7309f13c
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure the cachedproperty creation/setting is thread-safe</title>
<updated>2014-09-05T18:57:24+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-09-05T18:50:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=a96f49b9a5c73985187e75ba4eba6b946875c92a'/>
<id>a96f49b9a5c73985187e75ba4eba6b946875c92a</id>
<content type='text'>
When the cachedproperty descriptor is attached to an object
that needs to be only created/set by one thread at a time we
should ensure that this is done safely by using a lock to
prevent multiple threads from creating and assigning the
associated attribute.

Fixes bug 1366156

Change-Id: I0545683f83402097f54c34a6b737904e6edd85b3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the cachedproperty descriptor is attached to an object
that needs to be only created/set by one thread at a time we
should ensure that this is done safely by using a lock to
prevent multiple threads from creating and assigning the
associated attribute.

Fixes bug 1366156

Change-Id: I0545683f83402097f54c34a6b737904e6edd85b3
</pre>
</div>
</content>
</entry>
<entry>
<title>Use __qualname__ where appropriate</title>
<updated>2014-08-27T20:28:55+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-07-14T04:35:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=5c84ddad84a70cd658686e4f42604ebdd652f843'/>
<id>5c84ddad84a70cd658686e4f42604ebdd652f843</id>
<content type='text'>
The __qualname__ attribute simplifies the determination
of an objects class name and callable name and is useful
in python 3.x to be able to use since it can correctly
identify names better than the python 2.x __name__ attribute
can.

Adds a few tests in to ensure that the usage of __qualname__
where available functions as expected.

See: http://legacy.python.org/dev/peps/pep-3155/

Fixes bug 1341441

Change-Id: Ic6942cbbc8e35d65fb3ac603ff1dfc8e20c194a3
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The __qualname__ attribute simplifies the determination
of an objects class name and callable name and is useful
in python 3.x to be able to use since it can correctly
identify names better than the python 2.x __name__ attribute
can.

Adds a few tests in to ensure that the usage of __qualname__
where available functions as expected.

See: http://legacy.python.org/dev/peps/pep-3155/

Fixes bug 1341441

Change-Id: Ic6942cbbc8e35d65fb3ac603ff1dfc8e20c194a3
</pre>
</div>
</content>
</entry>
<entry>
<title>Move the stopwatch tests to test_types</title>
<updated>2014-07-03T21:52:15+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@gmail.com</email>
</author>
<published>2014-07-03T21:51:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=6ba41082cd54bce13e5795608f5c2634f19abde0'/>
<id>6ba41082cd54bce13e5795608f5c2634f19abde0</id>
<content type='text'>
Since the stopwatch is a type in the time
module we should move the test for it from
utils test to the test that is used to test
all the various types.

Change-Id: Id462baaada2784bf2af1da9c8548a2393c1af7fb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since the stopwatch is a type in the time
module we should move the test for it from
utils test to the test that is used to test
all the various types.

Change-Id: Id462baaada2784bf2af1da9c8548a2393c1af7fb
</pre>
</div>
</content>
</entry>
<entry>
<title>Create a top level time type</title>
<updated>2014-06-21T02:57:03+00:00</updated>
<author>
<name>Joshua Harlow</name>
<email>harlowja@yahoo-inc.com</email>
</author>
<published>2014-06-21T02:23:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/taskflow.git/commit/?id=d59fb4d42865a64f37680d26a593e20f74756ce1'/>
<id>d59fb4d42865a64f37680d26a593e20f74756ce1</id>
<content type='text'>
Create a time module under types and place
the stop watch class and timeout classes there
so that we can have a single location where
generic types that do things with time can be
located.

Part of blueprint top-level-types

Change-Id: I8eb7e897c0354b20a7fa0d061434006e775d5e94
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Create a time module under types and place
the stop watch class and timeout classes there
so that we can have a single location where
generic types that do things with time can be
located.

Part of blueprint top-level-types

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