tree 5475268e54333cc87df439c66098db968e0ae326
parent 363cdb56d1b5326f020020365754be944c6d78a7
author showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> 1242148969 +0000
committer showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> 1242148969 +0000

Add the ability for users to add test attributes.  Non-user-created attributes (added by the parser) are still immutable.
* add boolean column user_created to TestAttribute to keep track of which are user created, so we can preserve immutability
* add id primary key field to test attributes.  Django requires this and we've been squeezing by without it, but we can't anymore.
* declare some PK fields AutoFields in TKO models, as they should be.  this didn't matter before but does now that we have a TKO unit test, since these models determine how the test DB gets created.
* add set_test_attribute RPC to set/delete attributes
* modify get_detailed_test_views() to use the new populate_relationships() method to gather attributes and labels much more efficiently
* add rpc_interface_unittest, a unit test for the TKO rpc interface.  TKO was previously completely untested, so this is the first unit test of any kind for it.  since the doctests on AFE turned out to be quite unpopular, I'm using the unittest framework this time.  this required some changes to AFE testing code.
* various fixes to model_logic to account for assumptions we were previously making that aren't true in TKO (mostly about PK fields being named "id").

Note that the migration may be slow, as it's adding two columns to test_attributes, a potentially large table.

Signed-off-by: Steve Howard <showard@google.com>


git-svn-id: http://test.kernel.org/svn/autotest/trunk@3109 592f7852-d20e-0410-864c-8624ca9c26a4
