Skip to content

[IBEX_GUI]: Script Generator Run, Pause, Resume transition not happening correctly #8896

@Chsudeepta

Description

@Chsudeepta

As an user of the Script Generator in Ibex GUI, I am experiencing an error when trying to re-run a bunch of actions some of which were invalid and later corrected mid-run. While testing the Squish Tests noticed that the expected GUI transition is not happening in Script Generator.

Steps to replicate?

  • Start Ibex GUI and click on Script Generator
  • Select a Script Definitions file
  • Click on Add to End to add multiple rows
  • Check on "Invalid Actions are Paused"
  • Make at least one invalid entry in the table
  • Click Run. All the steps before the invalid entry should complete successfully. Then the execution should stop with a pause icon in the first column of the invalid entry.
  • One would expect that at this moment, the Run button should change to Resume, once the user corrects the entry and click on Resume, the execution should continue from this entry onwards
  • What actually is happening: 1. The Run button remains labelled "Run". 2. Clicking on it after correction yields nothing. 3. Clicking on the Pause button in the centre doesn't seem to have any effect. 4. The only way to proceed at this point it seems is to click on the Stop button and then hit the Run button again - but then it starts from the first action, ie, it is Re-run and not a Resume.
Image

...

Additional Information

What else do I need to know before starting?

  • We need to establish the exact flow and change of state of these buttons.
  • A possible workflow is mentioned here, this may need refinement based on inputs from the experts:
  1. When a script definition file is loaded, the table should be blanked out and all the three buttons should be either disabled or have no effect if clicked.
  2. Once at least one action is added, at least the Run button should be enabled and work if clicked.
  3. If "Invalid Actions are Paused" is checked, and there is at least one invalid action, on click of Run, the valid actions get executed and halted as soon as the invalid action is encountered.
  4. In the above condition, a pause icon should be visible at the beginning of the offending row. Clicking Pause or Run should have no effect. Clicking on Stop should work as expected. One possibility is that the Run button is renamed Resume at this point (but not necessarily as Run becomes Resume when pause has been consciously clicked, so in this scenario it may not be needed).
  5. It should be possible to edit the invalid action. If it is a valid action now, clicking on Run should start from the current action onwards if Stop wasn't clicked earlier, or from the beginning as is expected for Stop button.
    6. Irrespective of whatever is done above, if user selects another script definition, it should be possible to repeat the above flow for it and any other Script Generator functionality (Currently it appears that once we have gone through this flow the buttons don't work anymore unless we restart the GUI).

Acceptance Criteria

What is the acceptance criteria of this ticket? What should the reviewer expect to be complete?

  • The code should follow the expected standards
  • Building the GUI using the build.bat should work, also passing the Checkstyle requirements.
  • All the functionalities of Script Generator should work
  • Script Generator should be re-entrant. That is after any execution, with any combination of valid and invalid actions and with any sequence of button clicks, it must be possible to load another script definition file and perform all the necessary functions. Restarting the GUI must not be needed.
  • Squish test cases are added to adequately cover the erroneous situation.
  • Existing Squish Tests should pass unless requirements/implementation demands modification of some test case.

How to Review

Before making a PR...

  • Check the Acceptance criteria

If not applicable, write "Not applicable"

...

To the reviewer: Make sure to update submodules!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status

    Backlog

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions