summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster: fix urllib importsEd Bartosh2016-06-022-4/+11
| | | | | | | | | | | | Some functions have been moved from urllib to urllib.parse in python 3. Modifying the code to import unquote, urlencode and unquote_plus from urllib.parse if import from urllib fails should make it working on both python 2 and python 3. (Bitbake rev: b91aa29fa20befd9841678a727bb91100363518f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: don't use mru.count in the templateEd Bartosh2016-06-021-1/+1
| | | | | | | | | | | mru is a list. It has a count method, but it differs from the one for the queryset. Using mru.count causes 'Latest project builds' section to silently disappear when toaster runs on python 3. (Bitbake rev: c3ff90c9f028bff5733ebac7b5e72a4688addd3e) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use // operator instead of /Ed Bartosh2016-06-022-2/+2
| | | | | | | | | | | | | | Division operator works differently in Python 3. It results in float unlike in Python 2, where it results in int. Explicitly used "floor division" operator instead of 'division' operator. This should make the code to result in integer under both pythons. (Bitbake rev: 0c38441ed99b49dae8ef9613e320f0760853d6aa) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use knotty when working with bitbake serverEd Bartosh2016-06-021-2/+2
| | | | | | | | | | | | | | | Using empty BITBAKE_UI environment variable causes bitbake server to fail with the error: FATAL: Unable to import extension module "" from bb.ui Valid extension modules: knotty or toasterui\n' Used BITBAKE_UI="knotty" when starting and stoping bitbake server to solve above issue. (Bitbake rev: b9a9ddfb6f53259be214032fb93812149d0cce19) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: moved import bb.server.xmlrpcEd Bartosh2016-06-021-1/+1
| | | | | | | | | | | | | | Moved import xmlrpc module to the place where it's used to avoid toaster crashes when importing bitbake code. NOTE: This patch is made to be able to partly test toaster with bitbake from master. It can be removed as soon as bb.server.xmlrpc is ported to python 3. (Bitbake rev: 0c5d691746fb02807568a8a470969a0b68e21915) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: read timezone files in binary modeEd Bartosh2016-06-021-4/+3
| | | | | | | | | | | | | | Used 'rb' mode to open files to avoid unicode error when code runs on python 3: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 44: invalid start byte [YOCTO #9584] (Bitbake rev: 1414866b84fe1fd674ea79500cd62eda3aa30b33) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use re.sub() instead of translate()Ed Bartosh2016-06-021-1/+2
| | | | | | | | | | | | | | | translate has different set of parameters in python 3 and can't be used the way it's used in toaster api module. Replacing it with re.sub() should make the code work in both python 2 and python 3. [YOCTO #9584] (Bitbake rev: 7cc3a41139abc5b8d1eef4376fb19aba3910ce0d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: replace map with list comprehensionsEd Bartosh2016-06-023-30/+20
| | | | | | | | | | | | | map returns map object in python 3. Replaced calls of map to equivalent list comprehensions in the code which requires lists. [YOCTO #9584] (Bitbake rev: d41eb6d6c061cb35ec1ecd899f856876f9077167) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use items and range instead of old APIsEd Bartosh2016-06-025-6/+6
| | | | | | | | | | | | Used items() and range() APIs instead of iteritems() and xrange() as latter don't exist in python 3 [YOCTO #9584] (Bitbake rev: 372dd3abcb201bd9ac2c3189c5505d3578ce0dd0) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use decode('utf-8') for binary dataEd Bartosh2016-06-023-3/+3
| | | | | | | | | | | | | Decoded binary data to utf-8 to fix the following error when runnign on python 3: TypeError: Type str doesn't support the buffer API [YOCTO #9584] (Bitbake rev: 752ea00919ef054622a51ce097923309934eff2b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix local importsEd Bartosh2016-06-024-4/+4
| | | | | | | | | | | | | | Replaced local imports with absolute imports. Used .module for local imports. This should make the code to work on python 2 and python 3. [YOCTO #9584] (Bitbake rev: 3f1e68c783308dcb51242d0fdeef758e581ccc8c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix imports to work for python 3Ed Bartosh2016-06-021-4/+12
| | | | | | | | | | | | | | | | | | Some APIs have been moved to other modules in python 3: getstatusoutput: moved from commands to subproces urlopen: moved from urllib2 to urllib.request urlparse: moved from urlparse to urllib.parse Made the imports work for both python versions by catching ImportError and importing APIs from different modules. [YOCTO #9584] (Bitbake rev: 1abaa1c6a950b327e6468192dd910549643768bb) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: get rid of using reduceEd Bartosh2016-06-022-27/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced compicated calls of reduce with more clear code. As reduce was removed from python 3 this change is mandatory for the code to work on both pythons. Here is an example change for illustration purposes: original code: querydict = dict(zip(or_keys, or_values)) query = reduce(operator.or_, map(lambda x: __get_q_for_val(x, querydict[x]), [k for k in querydict]))) replaced with: query = None for key, val in zip(or_keys, or_values): x = __get_q_for_val(k, val) query = query | x if query else x [YOCTO #9584] (Bitbake rev: 249d0bc6094ec9f369a02b78d8ed634a239e5ee4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use force_text instead of force_bytesEd Bartosh2016-06-022-4/+4
| | | | | | | | | | | | | | | | Usage of force_bytes in BuildRequest.__str__ method caused python 3 to throw "__str__ returned non-string (type bytes)" error. Replaced force_bytes with force_text to make the code working on both python 2 and python 3. [YOCTO #9584] (Bitbake rev: 9dd9c1393a84d1110c647e84253af8e0bb6acc45) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tests builds Add SSTATE_MISS as a valid condition for tc=833Michael Wood2016-05-201-3/+10
| | | | | | | | | | | Task.SSTATE_NA and Task.SSTATE_MISS are both valid conditions for the condition that a Task.OUTCOME_COVERED and Task.OUTCOME_PREBUILT. (Bitbake rev: acac9bf660ac5939beb64d7b8d55541dea1c7b4e) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tests build Add a test for a build of core-image-minimalMichael Wood2016-05-201-0/+389
| | | | | | | | | | | This is a port of the oe self test to the django test framework from oe-core meta/lib/oeqa/selftest/_toaster.py (Bitbake rev: 94418b1b2f9466d35461acdb982fd6b130b2331c) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tests Add a BuildTest helper classMichael Wood2016-05-203-0/+148
| | | | | | | | | | | | Add a helper class for running build tests. Subclass this and call the build method to get setup for running tests on the resulting data from a build. (Bitbake rev: d1882371cae6b9a8296ea739e6e46ca6a6dc9da8) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Add a specific test settings fileMichael Wood2016-05-201-0/+41
| | | | | | | | | | | | When running certain tests we want a particular database specified. When bitbake toaster ui is being tested pass it these test settings so that it uses the same database as the unit tests running. (Bitbake rev: c52e34cac4362ba0a3cb3ea1fcb639e1d802aa85) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: runbuilds move the execution sequence out of the poll loopMichael Wood2016-05-201-15/+16
| | | | | | | | | | | | | Move the execution sequence for a build out of the polling loop and into it's own fuction. This means that we can call the function on it's own if we just want to trigger one build rather than infinite polling. This is something needed for the build tests. (Bitbake rev: e8e059602c31394a4be5293e2ca0b8434fb4a8cf) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Remove DATABASE_URL being passed around as an environment varMichael Wood2016-05-202-66/+10
| | | | | | | | | | | | | | | | | | We don't need to pass the DATABASE_URL around and read it back if we setup the django framework in the correct way. We make the default sqlite database path a full path so that the database isn't being assumed to be in CWD. Also add some more useful comments on the database settings. This is preparation work to migrate the build tests and be able to trigger builds on differently configured databases. (Bitbake rev: 973c740404ca6a09feea250d3433075995067fe0) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: tests for project configSujith H2016-05-201-0/+115
| | | | | | | | | | | | | | | | | Add basic tests to validate the value user types in the text box for IMAGEFS_TYPES. Added a test case to show the checkbox get automatically selected when user types value available in the check list. Added a test case to verify if the check box is enabled then the text box should also get updated accordingly. [YOCTO #7828] (Bitbake rev: 62c74eb38f44d98b40427edf56e40785b076a938) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: projectconf Small tweaks to IMAGE_FSTYPES formBelen Barros Pena2016-05-201-2/+3
| | | | | | | | | | | | Add a label to clarify the purpose of the first input field, replace <p> with <label> for the second set of controls, and give some top margin to the validation message. (Bitbake rev: 99b1b52fe4f2b593d7835d2db64eb028ed42600a) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: handle multiple imagefs typesSujith H2016-05-201-41/+70
| | | | | | | | | | | | | | | This functionality helps users to add custom image fs types available other than the checkboxes in the UI. User can add imagefs types in the text box and use them in the build. [YOCTO #7828] (Bitbake rev: c14cbb026598be064f08f46bb513456c7a3089f5) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: don't show "Rebuild" button for cancelled cli buildsElliot Smith2016-05-171-11/+14
| | | | | | | | | | [YOCTO #8515] (Bitbake rev: 71a45c600e47af5a19412bc3c5a9ba242bfb4638) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: toastergui tests Fix toastertable testsMichael Wood2016-05-171-32/+66
| | | | | | | | | | | | | After clean ups remove api assumptions. Our table data often contains html snippets to display certain things such as dependency pop overs or simply links to other parts of the UI. Take these into account when testing the values of the table data. (Bitbake rev: 7f61a68f2caba538e302ca9c2727bb43a6c77c64) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: toastertables: Clean up and fix up a number of itemsMichael Wood2016-05-173-87/+72
| | | | | | | | | | | | | | | - Remove the unused 'computation' field - Remove the code to try to make the tables behave like an api - Remove custom JSON encoder in favour of DjangoJSONEncoder - Simplify get_data and add comments - Add exception type instead of using generic Exception - Clean up python style warnings (Bitbake rev: 16d8198e8f6668c5fa5467ff4bda86c5d66a6cad) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use new syntax of except statementEd Bartosh2016-05-141-3/+3
| | | | | | | | | | | | | | | Used except 'except (<exception1>, <exception2>):' syntax as it's supported by python 2 and pythone 3. Old syntax 'except <exception1>, <exception2>:' is not supported by python 3. [YOCTO #9584] (Bitbake rev: d19e305ffa44a848b02ede63dc5de8d2640089e6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: use 'in' instead of has_keyEd Bartosh2016-05-143-16/+16
| | | | | | | | | | | | | | | Dictionary method has_key is deprecated in python 2 and absent in python 3. Used '<key> in <dict>' statement to make the code working on both python 2 and python 3. [YOCTO #9584] (Bitbake rev: 3d7ad7ba0d1a6f688ae885817c049f2a8ced11b5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix progress bar in MySQL environmentElliot Smith2016-05-132-2/+3
| | | | | | | | | | | | | | | | | | | | When using MySQL, the project builds info delivered by MySQL differs from that delivered by SQLite: the former returns text values from the enumeration for Build outcomes, while the latter returns the integer value. This causes the progress bar JS to break, as it is expecting outcome strings. Modify the recent_build() method to include an outcomeText property for each Build object, then use this in the conditionals in the progress bar JS. [YOCTO #9498] (Bitbake rev: 7ac374adf1cc70173ff6cc492bc078bba1cf500b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tests browser Add test for creating a projectMichael Wood2016-05-111-0/+109
| | | | | | | | | | Add browser tests for creating a project and test validation of duplicate project names. (Bitbake rev: 8055fbe840db426d6859ee2248f86abd44244b30) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: models Add missing import sysMichael Wood2016-05-111-0/+1
| | | | | | | (Bitbake rev: b2fba7a0820d77e1076c05b8ffcd960d4fc883a5) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: ui handles duplicate project name in project pageSujith H2016-05-112-1/+9
| | | | | | | | | | | | | | | | When already existing project name is typed by user, the ui pops up message regarding the existance of the project name. When an existing project is typed the save button will be disabled. Else user can proceed ahead by modifying the project name. [YOCTO #7005] (Bitbake rev: 05ddf48cda6690adab4c097b16387578523e751b) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: ui handles duplicate project name in new project pageSujith H2016-05-111-2/+10
| | | | | | | | | | | | | | When already existing project name is typed by user, the ui pops up message regarding the existance of the project name. [YOCTO #7005] (Bitbake rev: 83e5be7e74850f1bb019668de07f3f745063fe38) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: projectNameValidation API addedSujith H2016-05-111-0/+62
| | | | | | | | | | | | | | The projectNameValidation API would help users to validate if a project name exists or not. This API is added to libtoaster. [YOCTO #7005] (Bitbake rev: 3b1843553f23d78f1ddfec9f7865895ee42356a3) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bin, toaster: Fix print and exception syntaxRichard Purdie2016-05-1110-114/+114
| | | | | | | | | This updates the print "" syntax to print() and fixes some exception handling syntax such that its compatible with python v2 and v3. (Bitbake rev: 58304fcce9727fd89564436771356c033ecd22a3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update logger.warn() -> logger.warning()Richard Purdie2016-05-116-13/+13
| | | | | | | | | | python deprecated logger.warn() in favour of logger.warning(). This is only used in bitbake code so we may as well just translate everything to avoid warnings under python 3. Its safe for python 2.7. (Bitbake rev: 676a5f592e8507e81b8f748d58acfea7572f8796) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: customrecipe Only show download icon or button if it's ↵Michael Wood2016-05-062-2/+15
| | | | | | | | | | | | | | | | possible If the based on recipe has not yet been checked out/cloned we cannot generate the custom image recipe file that uses it. So disable/remove the option to download it. [YOCTO #9425] (Bitbake rev: f08651a954358e9c6ce4d69de285e4cd9e1408ae) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: orm Add get_base_recipe_file to CustomImageRecipeMichael Wood2016-05-061-23/+37
| | | | | | | | | | | | | | | This function returns the base recipe file path only if it currently exists. This allows us to know whether we can proceed at this point with generating a custom image recipe. It also enables us to call this function from the templates to enable visual indication of this state. Some whitespace fixes also added in generate_recipe_file_contents (Bitbake rev: bc30d1b235b9ecacef5b2eaa851b9247d857f317) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: tests for build dashboardElliot Smith2016-04-192-87/+251
| | | | | | | | | | | | | | | | | Convert existing tests to Selenium. Add basic tests to check that the modal contains radio buttons to select a custom image to edit when a build built multiple custom images, and to create a new custom image from one of the images built during the build. [YOCTO #9123] (Bitbake rev: c07f65feaba50b13a38635bd8149804c823d446a) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add modal to select custom image for editingElliot Smith2016-04-198-92/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add functionality to the placeholder button on the build dashboard to open a modal dialog displaying editable custom images, in cases where multiple custom images were built by the build. Where there is only one editable custom image, go direct to its edit page. The images shown in the modal are custom recipes for the project which were built during the build shown in the dashboard. This also affects the new custom image dialog, as that also has to show custom image recipes as well as image recipes built during the build. Modify the API on the Build object to support both. Also modify and rename the queryset_to_list template filter so that it can deal with lists as well as querysets, as the new custom image modal has to show a list of image recipes which is an amalgam of two querysets. [YOCTO #9123] (Bitbake rev: 8c2aea3fa8e1071de60390e86e2536904fa9b7c0) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add build dashboard buttons to edit/create custom imagesElliot Smith2016-04-199-96/+345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a build is viewed in the dashboard, enable users to edit a custom image which was built during that build, and/or create a new custom image based on one of the image recipes built during the build. Add methods to the Build model to enable querying for the set of image recipes built during a build. Add buttons to the dashboard, with the "Edit custom image" button opening a basic modal for now. The "New custom image" button opens the existing new custom image modal, but is modified to show a list of images available as a base for a new custom image. Add a new function to the new custom image modal's script which enables multiple potential custom images to be shown as radio buttons in the dialog (if there is more than 1). Modify existing code to use this new function. Add a template filter which allows the queryset of recipes for a build to be available to client-side scripts, and from there be used to populate the new custom image modal. [YOCTO #9123] (Bitbake rev: 4c49ffd28e41c4597bdac34d5e54c125571a4b95) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: make helper click on input before entering textElliot Smith2016-04-191-1/+5
| | | | | | | | | | | | | | | The Selenium helper's enter_text() method doesn't cause keyup events to trigger unless the element where text is being entered has been clicked. Prefix all text entry with a click() on the element to ensure that keyup events fire. (Bitbake rev: cea34880ad3847bd0e24c9b650eb816e1757cf2b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add tests for new custom image pageElliot Smith2016-04-191-0/+160
| | | | | | | | | | | | | | | | | | Test adding a new custom image when: 1. No custom images are in the project yet. 2. User tries to add custom image which duplicates the name of an existing custom image. 3. User tries to add custom image which duplicates the name of a non-image recipe. [YOCTO #9209] (Bitbake rev: 21c1f8f8e30ef868ea6fd861eea1389f149f1049) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: prevent exception when Project.release is nullElliot Smith2016-04-191-5/+11
| | | | | | | | | | | | | | | Project.release can be null. This causes an exception when calling get_all_compatible_layer_versions(), as the query to fetch the layer versions references release.branch_name. Add a guard to the function so that an empty queryset is returned if the release isn't set for a project. (Bitbake rev: 6919a2b2e412a9e7b652a6bc191e7c1bed035222) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: only prevent duplicate custom image names within a projectElliot Smith2016-04-192-17/+24
| | | | | | | | | | | | | | | | | | | | We currently prevent the same name being used for multiple custom images, but make the check across all projects. This means that custom image names have to be unique across all projects in the Toaster installation. Modify how we validate the name of a custom image so that we only prevent duplication of custom image names within a project, while ensuring that the name of a custom image doesn't duplicate the name of a recipe which is not a custom image recipe. [YOCTO #9209] (Bitbake rev: 9abbb46e799c06757e03addd54e3f5d3c0fe2886) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: disable/enable "Add layer" button according to input's contentElliot Smith2016-04-192-1/+34
| | | | | | | | | | | | | | | | | | | | In the import layer page, the "Add layer" button in the layer dependencies section doesn't accurately reflect whether the layer name in the corresponding input can be added. A partial or empty layer name can leave the button active, such that when it is clicked, a previously-selected layer can be accidentally added. Fix by keeping track of the items currently available in the typeahead, only activating the "Add layer" button when the input matches the name of one of those items. [YOCTO #8511] (Bitbake rev: dbb4f0282ded361baf9e5a0346e134bece5314b9) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix sorting after hiding a column in build tablesElliot Smith2016-04-192-26/+26
| | | | | | | | | | | | | | | | | | | When hiding a column in the build tasks or build packages included table, if the column is set as the current order by for the table, the order by is not reset to the default. The result is that the table stays sorted by the hidden column. Set the default_orderby for these two tables correctly to ensure the corresponding table is re-sorted when a column is hidden, if that column was being used as the order by. [YOCTO #9011] (Bitbake rev: b99e1012f0ad1dc82a769df15a232280c8e57b9e) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: ensure ToasterTable headings are reset when order by changesMichael Wood2016-04-191-1/+5
| | | | | | | | | | | | | | | | | | | If a ToasterTable is ordered by an optional column and that column is subsequently hidden, the table ordering switches back to the default ordering for the table. However, the table headings don't update to reflect the new ordering. This is because the code which sets the heading weight and hides/shows the caret symbols only runs when the table is first loaded. Store the default order by and re-apply it when the data is updated. [YOCTO #9011] (Bitbake rev: 820761e664cd2d62cc6c333a0e59580b0c4a034d) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fixes for customimage package not foundDave Lerner2016-04-093-12/+30
| | | | | | | | | | | | | | | | | | | | | | For a custom image, if a search for a package results in no packages found, then additional information should be presented to the user. This is different than a 'no results' found for a search in other contexts, for example, a search for a package in a non-customised build. For a custom image, a package search failure can happen because the package was not added to the custom image. This commit presents more information to the user, suggesting why the package was not found in the custom image. The generic table view handling js changes to handle a new div element no-results-special-... such that, if present, that template section is shown rather than the default no-results-... section. [YOCTO #9154] (Bitbake rev: 66b7c7ef61058b52031d71b10effcfe69afbd57b) Signed-off-by: Dave Lerner <dave.lerner@windriver.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests: browser Add test to run the js unit testsMichael Wood2016-04-061-0/+57
| | | | | | | | (Bitbake rev: 81ccbf243050a5a9245d2de4c1de342771c09a59) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>