Apologies for the missing details. The existing strict confinement is suitable for running bashell framework but it broke the existing “developer mode” functions for our users, (as in, develop test scripts or setup).
The following are the functions when user wants to develop test script or install bashell framework into his/her git repository:
Installation Function — $ bashell -i
BaSHELL has the ability to install itself locally (bashell.sh) into a git repository. This requires directory write and file write. By using the command “bashell -i”, it creates the following file structure:
repo/scripts/bashell.sh
repo/tests/scripts/.gitkeep
repo/tests/temp/.gitkeep
$HOME/.bashell.sh # cache bashell.sh since snap is a binary.
This allows developer (our users) to run bashell.sh locally in their respective git repository for situation where the test machine doesn’t need further configurations.
Create function — $ bashell -c
BaSHELL caters 2 types of creation: the bashell friendly bash script and the test script. Their commands are
$ bashell -c bash “path/to/the/file/with/filename.bash”
$ bashell -c script “test_suite/test_title”
Both creates their bash script respectively.
The test script, with the extension .test is parked under:
repo/tests/scripts/test_suite/test_title.test
Delete function — $ bashell -d
This works in the opposite of create and install.
$ bashell -d framework
This is the opposite of install. It will delete the entire repo/tests folder, clearing all bashell traces inside a git repo.
$ bashell -d script FILEPATH
This deletes the existing test script, with filepath pointing to the test script.
In execute test however, the command is as simple as:
$ bashell
$ # OR
$ bashell -r
This run function doesn’t need the --classic confinement privileges. It is working off the strict confinement. Hence, it is suitable for test machine with the developed bashell test framework.
In a separate thread https://forum.snapcraft.io/t/is-snap-install-classic-flag-on-user-side-meant-to-override-the-default-published-strict-confinement-or-is-it-a-bug/5531/6
, I received feedback that bashell can have bigger audience if it remains in “strict” confinement, such as Ubuntu Core market due to its run capability on test machine (which doesn’t need development capability).
However, it broke the “develop” mode. I’m currently using the app description and documentation to instruct the users to install bashell using the “–classic” flag for “development”.
Between delivering broken functionalities vs. larger audience, the former has higher priority. Please advise.