[Toaster] Review Request - add image information pages to toaster

Lerner, Dave dave.lerner at windriver.com
Thu Mar 13 14:49:36 PDT 2014


Hi Belen, Alex

Below is the review request for the image information pages for the toaster project.  Please advise if this is acceptable to be pulled into master.

There is a known problem with the help bubble and help icon hover on expanded jtreetable rows.

Thanks,
Dave Lerner

=============================================
Summary: Add image information pages to toaster
Upstream branch Tag:  poky-contrib lerner/imageinfo

commit 6c644124111730e142222abb6d04979f69ca792e
Author: Dave Lerner <dave.lerner at windriver.com>
Date:   Wed Mar 12 16:54:09 2014 -0500

    bitbake: toaster: image information views
    
    [YOCTO # 4346]
    
    When a target image is selected, this commit adds to the toaster
    project a two-tabbed page that shows
    1) 'packages included' a table of packages included in the image
    (see target.html), and
    2) 'directory structure', the target image's file system directory
    and detailed information showing the source of each file in the
    directory table (see dirinfo.html).
    
    The directory structure tab relies on the open source jQuery plugin
    jtreetable which provides hierarchical table expansions and contractions
    of the directory entry tables as the user drills down into directories.
    
    A file of jtreetable styles that are compatible with other toaster styles
    is provided included as css/jquery.treetable.theme.toaster.css. The
    complete unaltered jtreetable plugin is added via a separate commit.
    
    This work was developed base on the bugzilla specification number 4346
    and the document "Design 1.1 Image information" attached to that report.
    
    Signed-off-by: Dave Lerner <dave.lerner at windriver.com>

 bitbake/lib/toaster/orm/models.py                  |    5 +-
 .../lib/toaster/toastergui/static/css/default.css  |    2 +-
 .../static/css/jquery.treetable.theme.toaster.css  |   38 ++++
 .../static/jquery.treetable.theme.toaster.css      |   66 ++++++
 bitbake/lib/toaster/toastergui/templates/base.html |    2 +
 .../toastergui/templates/basebuildpage.html        |    2 +-
 .../lib/toaster/toastergui/templates/dirinfo.html  |  210 ++++++++++++++++++
 .../lib/toaster/toastergui/templates/target.html   |  148 ++++++++++++-
 .../toaster/toastergui/templatetags/projecttags.py |   50 +++++
 bitbake/lib/toaster/toastergui/urls.py             |    3 +-
 bitbake/lib/toaster/toastergui/views.py            |  223 +++++++++++++++++++-
 11 files changed, 732 insertions(+), 17 deletions(-)

commit c05614ccea9f52a18cd7d162f98cf8cfae65591a
Author: Dave Lerner <dave.lerner at windriver.com>
Date:   Tue Mar 4 15:02:58 2014 -0600

    bitbake: toaster: add jquery treetable plugin
    
    This commit includes the critical javascript and css files
    downloaded from http://plugins.jquery.com/treetable version 3.1.0.
    The following is from the author's README.md included with
    the license files in the directory static/jquery-treetable-license.
    
    "jQuery treetable is a plugin for jQuery, the 'Write Less, Do More,
    JavaScript Library'. With this plugin you can display a tree in an
    HTML table, e.g. a directory structure or a nested list...
    Download the latest release from the jQuery Plugin Registry or grab
    the source code from Github. Please report issues through Github
    issues. This plugin is released under both the MIT and the GPLv2
    license by Ludo van den Boom...
    See index.html for technical documentation and examples. The most
    recent version of this document is also available online at
    http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example
    built with Ruby on Rails can be found at
    https://github.com/ludo/jquery-treetable-ajax-example."
    
    Author: Ludo van den Boom
    
    The relevant files were moved to the static/js and static/css
    directories to match the existing javascript and css toaster
    deployment model.
    
    The applicable licenses and the README are in
    static/jquery-treetable-license.
    
    Signed-off-by: Dave Lerner <dave.lerner at windriver.com>

 .../toastergui/static/css/jquery.treetable.css     |   28 +
 .../static/css/jquery.treetable.theme.default.css  |   64 ++
 .../lib/toaster/toastergui/static/css/screen.css   |   28 +
 .../jquery-treetable-license/GPL-LICENSE.txt       |  278 +++++++++
 .../jquery-treetable-license/MIT-LICENSE.txt       |   20 +
 .../static/jquery-treetable-license/README.md      |   20 +
 .../toastergui/static/js/jquery.treetable.js       |  620 ++++++++++++++++++++
 7 files changed, 1058 insertions(+)


TESTING

0. Test Setup
==================================
bitbake core-image-minimal
bitbake core-image-sato

1. Tests on "Package included" tab
==================================
1.1 Package included HTML5 Validation
--------------------------------------
Select sato image and select all columns and 100 rows
Get source for page and input into http://validator.w3.org/#validate_by_input 
Verify no errors appear.

Repeat for minimal image, all columns 100 rows (complete list)
Verify no errors appear.

1.2 Package included Spec validation
------------------------------------
Package Included tab (page 5 of 17)
Tab data
    Click on core-image-minimal
    Note package count (1st term in 'n - m' in tab)
        Change Show rows to 100, go the last page 
        Verify count by 100*pagenum + items on last page
    Note package size (2nd term in 'n - m' in tab)
        Sum the values in Size column on first and second page
        Verify the calculated and shown total sums match within roundoff  
Default columns (page 7)
    Clear cookies
    Verify Package, Package Version, Size, Dependencies, Revers Dependencies,
        and Recipes columns appear
    Verify package name and 'as installed <name>' in package column.
        Additionally verify that search works on either package name
            or installed name (eglibc or libc6)
    Verify for 'as installed name' is muted, and shows help bubble and
        clicking on help bubble brings up comment in spec
    Verify that if you search for a non-existant package, then 
        "No packages found" appears
    Verify if you search for a substring matching multiple packages, then
        "N packages found" appears, where N matches row count of a list
        of matching packages
    By clicking on Package name and jumping to package included detail info
        verify version, size, dependency count and list, reverse dependency
        count and list, and recipe (tested with busybox)
        NOTE: bug to be entered that the Package Included dependency size
            shows Package Size (prior to build) not the post-build installed
            package size. 
    Verify the contents of the remaining table columns by selecting those
        columns in the Edit Columns tab: layer, layer branch layer commit,
        layer directory, license, recipe version and size over total %
    Verify the order of the columns per spec page 9
    Verify the minimum columns are package and package version
    Verify Interactivity per page 11 on Package, Package Version, dependencies, 
        reverse dependencies, recipe, recipe version, (layer url is not
        yet implemented), and commit
    Verify empty states on page 11

    
2. Tests on "Directory structure" tab
==================================
2.1 Directory structure HTML5 Validation
--------------------------------------
Select sato image, Directory structure, expand usr then lib under usr
View source for page and input it into 
    http://validator.w3.org/#validate_by_input 
Verify no errors appear.

2.2 "Directory structure" Spec validation
------------------------------------
Verify that page opens at top level directories (page 14)
Verify the fields directory/file, symbolic link, source package, size,
    permissions, owner, and group are shown as specified on page 15 
Verify that interacitivy of Directory/file and Source package as
    specified on page 16.  Note that slide animation has not been
    implemented due to conflicts with the jtreetable plugin and other
    issues with slide expansion in tables.
Verify that interacitivy of Source package with links to included
    package page.
Note: not all directory entries will be associated with packages.

End of tests




More information about the toaster mailing list