Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Job status and tinder should not assume first row is equal to others #13

Closed
Xorath opened this Issue · 4 comments

4 participants

@Xorath

When running testswarm and only having one test-module the browser icons does not appear above the results-table. Adding an empty dummy-module makes them appear.

@tmyoung

I have the same problem.

@bachp bachp referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@bachp bachp referenced this issue from a commit in siemens/testswarm
@bachp bachp Fix no icons rendering in jobstatus and on user page. This fixes Issue
…#13.

It's based on a patch from parente (Peter Parente).
8ddfbbd
@bachp bachp referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@bachp bachp referenced this issue from a commit in siemens/testswarm
@bachp bachp Fix no icons rendering in jobstatus and on user page. This fixes Issue
…#13.

It's based on a patch from parente (Peter Parente).
65404b6
@Krinkle
Collaborator

There's a bunch of other problems with the current output mechanism.

The biggest problem is that it echo'es right away and assumes the first row is the same as all other rows. Meaning when account X submits a job for browser A B and C, then then another job for C, D E and F. Then the latter job will be good, but all earlier job statuses will show up in the wrong column, or even missing if there's fewer columns.

This can be fixed by writing the output to a an array, and during the loop keep track of all browsers encountered. Then at the end all browsers are known and the headers can be outputted. Then you loop over the array and when there's a key missing you output an empty table cell with class "notsubmitted".

An example can be seen at http://toolserver.org/~krinkle/testswarm/user/KrinkleBot
There you can see that from job "MediaWiki Commit r88224" onwards Opera 11.1 was added to the mix. Jobs before that would, if toolserver ran current master HEAD, go messed up and put them in the wrong column. Instead there are extra table cells outputted to account for the differences.

Proposal: http://jquerytesting.pbworks.com/w/page/44121636/TestSwarm-OOP

@jzaefferer
Owner

Fixed by #73 - even if it doesn't address all the problems that @Krinkle outlined, those we need to put into a separate issue.

@Krinkle
Collaborator

Since jQuery's swarm install got reset I can't test this bug properly. We need to confirm fix and then we can close this bug.

@Krinkle Krinkle referenced this issue from a commit
@Krinkle Krinkle Refactor JobPage/UserPage, create JobAction, fix #116, #13
- Fixes #116 (although still depends on #115)

- Removed 'jobs.status' column. Wasn't created, updated or used anywhere.
  And isn't needed either.

- As result of separating the logic into the JobAction class,
  the list of user agents will be available ahead of time when the JobPage
  handles it. This fixes #13.

  Also, modified table header for table.results on UserPage and JobPage
  to show the browser version (as was previously done in the hack in my
  TestSwarm install for MediaWiki on toolserver.org/~krinkle/testswarm)

  Prefixed CSS classes for results tables with "status-"

- Add support for list `IN ()` syntax to str_queryf with %l (list),
  removing %x/dechex

- Fix typo in CleanupAction from 076edf3

- Fix failure in ScoresAction if there are no runs yet (query returns false,
  not an empty array).

- UserPage: Remove unused variable $job_status and then unused function get_status()
ca6abd4
@Krinkle Krinkle closed this issue from a commit
@Krinkle Krinkle Refactor JobPage/UserPage, create JobAction, fix #116, #13
- Fixes #116 (although still depends on #115)

- Removed 'jobs.status' column. Wasn't created, updated or used anywhere.
  And isn't needed either.

- As result of separating the logic into the JobAction class,
  the list of user agents will be available ahead of time when the JobPage
  handles it. This fixes #13.

  Also, modified table header for table.results on UserPage and JobPage
  to show the browser version (as was previously done in the hack in my
  TestSwarm install for MediaWiki on toolserver.org/~krinkle/testswarm)

  Prefixed CSS classes for results tables with "status-"

- Add support for list `IN ()` syntax to str_queryf with %l (list),
  removing %x/dechex

- Fix typo in CleanupAction from 076edf3

- Fix failure in ScoresAction if there are no runs yet (query returns false,
  not an empty array).

- UserPage: Remove unused variable $job_status and then unused function get_status()
ca6abd4
@Krinkle Krinkle closed this in ca6abd4
@mikehostetler mikehostetler referenced this issue from a commit in appendto/testswarm
@Krinkle Krinkle [issue #143] Convert UserPage to new user agent system + Implement Fa…
…uxRequestContext

- Extracted the logic into UserAction (issue #132)

- Dropped support for the ?job= parameter that functioned as a primitive
  search filter for certain job names, but was kinda useless since
  it stripped out characters commonly found in job names (such as numbers
  and full-stops) and even then, job names are sorted by creation,
  and then mysql_queryf escapes some parts.

  Could be easily (re)implemented "the right way" over in the UserAction.
  Anyone interested may create an issue for it.

- Converted BrowserInfo::getBrowscap() into an array with a known set of
  properties instead of blindly passing the original object which has many
  other properties that should not be used.

- DerivativeWebRequest, Context::createDerivedRequestContext
 * New class that takes query parameters and POST boolean
   and creates a fake Context object derived from the given
   context object. Used to use JobAction inside UserAction.

- Fixed #13 (again). This made it visible that status-new should be grey
  and status-notscheduled white (which is how it was before twitter bootstrap)

- Added json_decode/json_encode normalization to Action::setData.
  This way all Action responses contain associative arrays and never
  objects.

- Poke #137, using <div class="alert alert-error"> for error messages.
28b6595
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.