<tt><font size=2>At run time there are decorators that behave in an unexpected
manner.</font></tt>
<br><tt><font size=2>For instance, in nova/compute/manager.py when ComputeManager's</font></tt>
<br><tt><font size=2>resize_instance method is called, the "migration"
positional argument</font></tt>
<br><tt><font size=2>is somehow added to kwargs (paired with the "migration"
key) and is</font></tt>
<br><tt><font size=2>stripped out of the args parameters when the decorators
are called.</font></tt>
<br><tt><font size=2>However, when this same method is called in</font></tt>
<br><tt><font size=2>nova/tests/compute/test_compute_mgr.py, the "migration"
positional</font></tt>
<br><tt><font size=2>argument remains in args when the decorators are called.
 In other</font></tt>
<br><tt><font size=2>words at run time the decorators see these arguments:</font></tt>
<br>
<br><tt><font size=2>(self, context, [], {'migration': migration, 'image':
image,</font></tt>
<br><tt><font size=2>'instance': instance, 'reservations': reservations})</font></tt>
<br>
<br><tt><font size=2>while when running a test case, they see these arguments:</font></tt>
<br>
<br><tt><font size=2>(self, context, [instance, image, reservations, migration,</font></tt>
<br><tt><font size=2>instance_type], {})</font></tt>
<br>
<br>
<br><tt><font size=2>What is happening at run time to cause this behavior?
 How can this</font></tt>
<br><tt><font size=2>behavior be duplicated when executing test cases,
so that the test</font></tt>
<br><tt><font size=2>cases correctly mimic run-time behavior?</font></tt>