b852bce914dc3ae05b26f3655bfb437ffed001be |
|
07-Apr-2010 |
jamesren <jamesren@592f7852-d20e-0410-864c-8624ca9c26a4> |
Adding the GWT framework for the Test Planner. This adds a new application to the GWT frontend, but does not link to it from the other frontends yet. I don't anticipate anyone to be using this just yet. Once the project reaches the point where I can release a working prototype, I will create user documentation for it and send an announcement. Signed-off-by: James Ren <jamesren@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@4378 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
b9c6617bdc063b3b4aa760a0a45190ee069139fd |
|
13-Nov-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Modify DynamicTableSelectionListener so that when select "none" is clicked, only deselect items matching the current filters. This turned out to be considerably trickier than i thought, because in order to do this properly and efficiently, it has to work like this: when "none" is clicked, make an RPC call for all the currently filtered items that fall within the currently selected set. We do this by making a new request to the table's active DataSource with the current filtering params plus a list of selected item IDs. There are two problems here: 1) Not all tables show DB objects -- in particular, the host detail view table when "show verifies/repairs/cleanups" is selected, and the TKO table view when grouping is active. For these tables, there's no way to filter on selected items by ID. Fortunately, these tables also happen to not be prone to the original issue, because they can't be filtered. So I added some code to only apply this new logic to tables that have active user-controlled filters. This is pretty ugly from a design point of view, but I had to take a practical approach -- it works, the code is clean, and I couldn't think of any workable alternatives. 2) The DataSource interface was poorly designed such that an RpcDataSource was stateful (and mutated every time a new request was made), so there was no way to make a new request on a DataSource without messing up its state and therefore potentially messing up the table using it. To get around this, I redesigned the interface to use a separate Query objects. Now, both the DataSource and the Query objects are immutable, and making a separate query for the "select none" operation is easy. (This actually also encouraged a change to DynamicTable to be much more efficient by avoiding many unnecessary get_num_*() calls.) Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3941 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
5f0ca29fe6e34b4e5c256f6331e6767ab2b67c16 |
|
17-Sep-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Fix URL encoding of CSV export link. Signed-off-by: James Ren <jamesren@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3736 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
c0ac3a79cceec87873257a8b6d41d19c9fb02ec6 |
|
08-Jul-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
add the option to include verify/repair/cleanups in the job table on the host detail page. * added RPC get_host_queue_entries_and_special_tasks, which returns both HQEs and SpecialTasks for a host in a carefully interleaved manner. * added appropriate frontend unit tests * added support to HostDetailView to include these entries, but have them not be selectable. this required changes to SelectionManager. I also added a utility method to Utils for opening a new window, and changed all sites that do that to call the new method. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3385 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
37059dfb50063124bce014d3217e3610499d917f |
|
08-May-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
CSV support for TKO table view. * make RpcDataSource record the last RPC call params, since that's much easier than reconstructing it as I was doing for SpreadsheetVIew * make TableDecorator support an Export CSV link, and make TableView use it * add onExportCsv to Table View, plus some minor refactorings there that happened along the way * generalize CSV code from SpreadsheetView and extract to TkoUtils * add new CsvEncoder classes for table view * change logic to decide which CsvEncoder to use -- simply dispatching off of method name isn't good enough, since both spreadsheet and table views use get_status_counts * add new unit tests for the three kinds of table view Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@3096 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
3af93f9e93f65dad8d8e5b808d67320c2da958d5 |
|
21-Mar-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
fix some unused code eclipse warnings that had been disabled but should've been enabled Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2920 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
e5ae165c706c465f08a732a361ea0aa5d75075ea |
|
12-Feb-2009 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Widespread cleanup of graphing code, based on notes I took during the original review of the code that never got implemented. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2781 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
f248952e42ea33c34e41a49817e50f98c65c2716 |
|
24-Oct-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Add feature to make spreadsheet header fields from combinations of machine labels. The user can create as many different machine-label-based fields as she wishes. For each field, she can enter a list of labels to be included. The field will then group on each combination of those labels. -added new HeaderField abstract class with two implementations - SimpleHeaderField for normal fields and MachineLabelField for the new machine label fields -made HeaderSelect capable of creating MachineLabelFields. In single header mode, selecting "Machine labels..." creates one, and deselecting it destroys it. In multiple header mode, each time "Machine labels..." is selected a new machine labels field is created, and deselecting one destroys it. -made HeaderSelect display text boxes for each MachineLabelField for the user to input the label list. -created HeaderSelect.addQueryParameters, moved fixed value logic into it (from SpreadsheetView.java), and put logic for machine label header in it. -made TestGroupDataSource accept raw query parameters, and updated SpreadsheetDataProcessor to pass it through. -modified SpreadsheetView to use HeaderFields throughout. Eventually other code (such as TableView) should be made to use them. -added capability for ConditionTestSet to accept raw condition pieces. Eventually it will only work this way and I'll get rid of the field setting logic, since that's been moved to SimpleHeaderField. -added ExtendedListBox class containing a bunch of utilities for ListBoxes that I've wanted for a long time. Several other parts of the code (DoubleListSelector, some of the graphing stuff) should be changes to use these utilities eventually. -added ChangeListener support to DoubleListSelector -made rpc interface accept a new "machine_label_headers" parameters, and added logic to tko_rpc_utils.py to construct SQL for machine label headers -modified TestView manager to support a join into host labels git-svn-id: http://test.kernel.org/svn/autotest/trunk@2331 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
8a6eb0cf5777dded2354408e8007d9223e813c92 |
|
01-Oct-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
add support for showing only the latest test run per cell in spreadsheet mode. this involved some extensive refactorings on both the client and server which then made the actual change quite simple. Refactorings: -refactored group querying code in TempManager to be much more general (it's no longer oriented around fetching COUNT(*)). it also now returns dicts instead of raw rows. -refactored much of the logic from the group-related RPCs into GroupDataProcessor, which now handles almost all the work, again in a more general fashion -made group RPCs always return a sample test index with each group; this allows the client to drill down to single-test groups without having to make an extra query to get the test index (it also makes the latest test feature easier to implement) -refactor TestSet to support a new getTestIndex method for single test sets -added new SingleTestSet class for single test sets, and made TestSet creation code use this instead of ConditionTestSet -made ConditionTestSet always be for multiple tests -changed drilldown code to use TestSet.getTestIndex() to avoid making an extra RPC call (in both spreadsheet and table views) -got rid fo TkoUtils.getTestId, which is no longer needed since test IDs are passed down with the groups New features: -added get_latest_tests RPC to get the latest test per group, but still return information in the same format as get_status_counts -added "show only latest test per cell" to spreadsheet view, made it control the RPC that gets called, and added history support for it About the get_latest_tests RPC - it uses two rather simple SQL queries and some processing in Python. I tried six different ways of computing this information, some using a single SQL query to do everything and some doing everything in Python, and this approach was by far the fastest. Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2216 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
e732ee7d450b11261c82df0950fde8e02f839b26 |
|
23-Sep-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
-added capability to have site-specific urlconfs in TKO Django server -added ClassFactory and SiteClassFactory to autotest.tko package to allow site-specific modifications to TKO. made some changes to the AFE [Site]ClassFactory files (reducing visibility) -added get_detailed_test_views RPC which includes information about labels and attributes associated with a test -made changes to model_logic.py to make fewer assumptions about models. these were basically bugs in model_logic.py that weren't exposed until i started doing fancier queries on TKO models. -made list_objects capable of accepting a field list -changed JsonRpcProxy to contain base URLs instead of full RPC urls; this way, other components (graphing, jlog) can use them (and i made graphing use this URL, which fixes a bug in the embedded URL generation) -added RealHyperlink widget to common.ui package, representing a plain old hyperlink to another page (as opposed to Hyperlink and SimpleHyperlink, which are intended to be handling by the GWT code). this eases dynamic updates of the link href and allows setting visibility, styles, and all the other good stuff that comes along with using Widgets. git-svn-id: http://test.kernel.org/svn/autotest/trunk@2191 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
6b5a72c12b84e0e8f15839c641bbc718fe52cbd7 |
|
22-Sep-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
The new code for building condition strings was potentially buggy when using multiple selection. git-svn-id: http://test.kernel.org/svn/autotest/trunk@2181 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
64aeecdec485192241e5377b3fa5ac7cf57a0c12 |
|
19-Sep-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
-add feature to filter on test attributes in TKO -new server arguments "include_attributes_where" and "exclude_attributes_where" for filtering on test attributes -refactor joining code in TKO models.py to support test attributes joining -add new UI to CommonPanel.java to filter on test attributes. some of the UI code was written in a general way so that in the future it could be merged with some of the graphing UI code. -modified TestSets and code that uses them to fix two bugs - first, TestSets didn't contain all the relevant filtering information (only the SQL clause), and second, the SQL clause would build up incorrectly during drilldown git-svn-id: http://test.kernel.org/svn/autotest/trunk@2177 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
d50ffb4b0ef514fb969d53b82e23ab41d4d3812e |
|
04-Sep-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
-add easy invalidation functionality -add "show invalidated tests" option to common panel, disabled by default -made client submit "exclude_labels" option to exclude invalid tests. this required somewhat widespread changes because it means the global condition is no longer just a SQL string but now a collection of parameters -add "invalidate tests" option to spreadsheet/table context menu, and button to test detail view. it's really just a shortcut to add the "invalidated" label. -added logic to the server to handle "exclude_labels" option. it was done in this generic way because in the future i plan to add a UI to exclude any label or labels. -force test label names to be unique -fix a bug in logic to determine all labels assigned to a set of tests -got rid of auto-refresh when changing between spreadsheet and table after the condition had changed Signed-off-by: Steve Howard <showard@google.com> git-svn-id: http://test.kernel.org/svn/autotest/trunk@2099 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
0c31bc5ef2ecdf8edf19468e1a373520110f5bc6 |
|
08-Aug-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Make query controls collapsible in spreadsheet and table views. This should help enable better use of screen real estate, especially in spreadsheet view. git-svn-id: http://test.kernel.org/svn/autotest/trunk@1965 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|
35444864c7b6f49865a7e17aa0052987b72e4728 |
|
08-Aug-2008 |
showard <showard@592f7852-d20e-0410-864c-8624ca9c26a4> |
Initial checkin of new TKO interface. git-svn-id: http://test.kernel.org/svn/autotest/trunk@1959 592f7852-d20e-0410-864c-8624ca9c26a4
/external/autotest/frontend/client/src/autotest/tko/TkoUtils.java
|