Add capability to test generated ISO.

Bug #1944062 reported by Cubic PPA
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cubic
Fix Released
Low
Cubic PPA

Bug Description

Add a "Test" button to Cubic to boot the generated ISO into an emulator.

Currently, users have to use external tools (such as VirtualBox, QEMU, etc.) to test ISOs generated by Cubic.

This new feature will allow the user to easily view the results of the customizations. The user will be able to exit the emulator and click the "Back" button in Cubic to make additional customizations.

Cubic PPA (cubic-wizard)
Changed in cubic:
status: New → Confirmed
importance: Undecided → Low
assignee: nobody → Cubic PPA (cubic-wizard)
status: Confirmed → In Progress
Revision history for this message
Cubic PPA (cubic-wizard) wrote (last edit ):
Download full text (5.9 KiB)

------------------------------------------------------------------------
Project Page
------------------------------------------------------------------------
- Add a "Test" button in the header bar on the Project page.
- The Test button will only appear if there is a previously generated disk image.
- This allows the user to easily test an existing customized ISO by simply opening Cubic and selecting the desired project, without having to navigate through all of the steps and regenerate an ISO.
- The Test button will only appear if there is enough system memory to run QEMU.
- Clicking the "Test" button will navigate to the Test page.
- Clicking the "Test" button will simultaneously launch QEMU in a separate window.
- The main Cubic window will remain active while QEMU is running.

------------------------------------------------------------------------
Test Page #1 (launched from Project Page)
------------------------------------------------------------------------

- Add a new Test page that appears when the "Test" header bar button is clicked on the Project page.
- The Test page will display information about the disk image being tested.
- This information will reflect the previously generated disk image, and may not match the information on the Project page (if the user has made changes on the Project page).
- The Test page will display custom disk file name, directory path, checksum, checksum file name, version, volume id, release, and disk name.
- The user will have the ability to open a file browser to the location of the custom disk file or the checksum file.
- If QEMU launched successfully, a "Stop" button will appear in the header bar of the Test page.
- Clicking the "Stop" button will automatically terminate QEMU and automatically navigate to the Project page.
- If QEMU could not be launched, a message will be presented to the user, and a "Back" button will appear in the header bar.
- (Cubic will not be able to display the cause/reason of the error).
- Clicking the "Back" button will navigate to the Project page.
- When QEMU exits, automatically navigate to the Project page.

------------------------------------------------------------------------
Generate Page
------------------------------------------------------------------------

- Cubic will automatically navigate to the Finish page, once generation is completed.
- The user no longer needs to click the "Finish" button.

------------------------------------------------------------------------
Finish Page
------------------------------------------------------------------------
- Make the "Back" button in the header bar active, so the user can make additional changes after (automatically) arriving on the Finish page.
- Clicking the "Back" button will navigate to the Options page.
- Add a "Test" button in the header bar on the Finish page.
- This allows the user to easily test a the new customized ISO.
- The Test button will only appear if there is enough system memory to run QEMU.
- The Test button will be a recommended action (i.e. green in color).
- The Close button will be be changed from a recommended action (i.e. green in color) to a destructive action (i.e. red in color).
...

Read more...

Revision history for this message
Cubic PPA (cubic-wizard) wrote (last edit ):

------------------------------------------------------------------------
Help on this Page (launched from the application's "Hamburger" menu)
------------------------------------------------------------------------

- Add a help page for Test Page #1.
- Add a help page for Test Page #2.
- The new help pages are require to provide the user with a description of what the page does and how to use it.
- The new help pages must be linked to by the "Help on this Page" in the application menu while on Test Page #1 and on Test Page #2,
- Otherwise, the following exception occurs.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Clicked help menu button

    Traceback (most recent call last):
      File "/usr/share/cubic/cubic/navigator.py", line 372, in
      on_clicked_page_help_menu_button
        url = model.help_urls[model.page.name]
    KeyError: 'test_1_page'
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- We may be able to use a single help page for both Test Page #1 and Test Page #2, since both pages are very similar.
- This will require re-sequencing the existing help pages on launchpad in order to place the new help page in the correct order in the FAQ. A negative consequence of this change will be that users running an older version of the application will arrive at the wrong page (since the index numbers in the URL will change).

- Update the help page for the Project page in order to explain the new Test button.

- Update the help page for the Generate page in order to explain "This page will automatically transition to the next page when it is done."

- Update the help page for the Finish page in order to explain the new Test button. Also explain that the user can click the Back button to continue making changes.

Cubic PPA (cubic-wizard)
Changed in cubic:
status: In Progress → Fix Committed
Revision history for this message
Cubic PPA (cubic-wizard) wrote :

Fix released in version 2021.09-56.

Changed in cubic:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.