Package Manager - Test Suite
Note
Tester |
Test Date |
Scopy version |
Plugin version (N/A if not applicable) |
Comments |
Test 1 - Package Discovery Load
UID: PKG_MANAGER.DISCOVERY.LOAD
Description: Verify that all available packages are discovered and loaded correctly at startup.
- Preconditions:
Scopy started with default package locations.
- Steps:
Start Scopy.
- Open the package manager UI or check logs for loaded packages.
- Expected result:
All packages in the designated directories are listed and loaded without errors.
The following packages are expected to be loaded:
ad936x,
apollo ad9084,
generic plugins,
adalm2000,
power quality monitor,
ad-swiot1l-sl
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 2 - Package Resource Access
UID: PKG_MANAGER.RESOURCE.ACCESS
Description: Ensure that resources (XML, CSV, etc.) within packages are accessible and used by the application.
- Preconditions:
At least one package with resources installed.
Registermap tests were passed and the tool is working properly.
- Steps:
Connect a physical Pluto device or start Pluto in emulation mode.
Open the Register Map tool in Scopy.
Select the connected Pluto device.
- Check if the register table loads and displays correctly.
Expected result: The register table is loaded from the XML resource and displayed without errors.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 3 - Package Create
UID: PKG_MANAGER.CREATE
Description: Test creating a new package (named “test_pkg”) using the official package generator script (package_generator.py).
Reference: See Package Generator
- Preconditions:
Python 3 and all prerequisites installed (see developer guide).
Scopy repository cloned and accessible.
In a terminal, working directory is scopy/tools/packagegenerator.
- Steps:
Prepare a pkg.json configuration file for the new package (see example in the developer guide).
Run the following command to generate the package template:
./package_generator.py --all --config_file_path=path/to/pkg.json
- Verify that a new folder for “test_pkg” is created as a development template in scopy/packages/ with the expected structure and files (including a manifest file).
Folder hierarchy when using the –all flag should look like:
├── CMakeLists.txt ├── include │ └── newpackage ├── manifest.json.cmakein ├── plugins │ └── newplugin ├── resources │ ├── translations │ └── translations.qrc └── style ├── json └── qss ├── generic └── properties
- If a build is performed, the new package should be present in the build folder as well.
Expected result: The “test_pkg” package template is created in scopy/packages/ with the correct structure and metadata, and after build, it appears in the build folder.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 4 - Package Install
UID: PKG_MANAGER.INSTALL
Description: Test installing the previously created package (“test_pkg”) via the package manager and verifying it appears in the list and is usable.
- Preconditions:
Test 3 (PKG_MANAGER.CREATE) was passed.
Scopy running with package manager UI accessible.
- Steps:
Create a zip file of the “test_pkg” package or ensure it is in the correct format for installation.
In the package manager UI, search for the zipped package named “test_pkg”.
Install the “test_pkg” package.
- Check that “test_pkg” appears in the package list and is enabled/usable.
Expected result: The “test_pkg” package appears in the list and its features are available in Scopy.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 5 - Package Uninstall
UID: PKG_MANAGER.UNINSTALL
Description: Test uninstalling the previously created and installed package (“test_pkg”) via the package manager and verifying it is removed.
- Preconditions:
Test 4 (PKG_MANAGER.INSTALL) was passed.
Scopy running with package manager UI accessible.
- Steps:
In the package manager UI, locate the “test_pkg” package.
Uninstall the “test_pkg” package.
A button should appear for a Restart.
Press the Restart button.
- After Scopy restarts, check that “test_pkg” is removed from the package list and its features are no longer available in Scopy.
Expected result: The “test_pkg” package is removed from the list and its features are not available.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 6 - Backward compatibility
UID: PKG_MANAGER.BACKWARD_COMPAT
Description: Verify that legacy plugins/packages are still recognized and function as expected, specifically by running a test from the m2k plugin.
- Preconditions:
Legacy plugin/package (e.g., m2k) present in the package directory.
Scopy built with support for legacy plugins.
- Steps:
Start Scopy with the legacy m2k plugin/package installed. See M2k Plugin for plugin details and usage.
Open the m2k plugin UI or access its features.
- Run a basic test or operation provided by the m2k plugin (e.g., connect to an m2k device and perform a simple acquisition).
Expected result: The m2k plugin loads, its UI/features are accessible, and the test operation completes successfully without errors.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 7 - Error handling
UID: PKG_MANAGER.ERROR.HANDLING
Description: Ensure that errors (e.g., missing/corrupt package, bad resource) are handled gracefully.
- Preconditions:
Scopy running with package manager UI accessible.
- Steps:
Create an archive (zip) of a package but omit the manifest file (e.g., remove manifest.json before archiving).
Attempt to install the corrupted package using the package manager UI.
- Observe the result.
Expected result: An error is reported and Scopy remains stable without crashing or freezing.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 8 - UI/UX
UID: PKG_MANAGER.UIUX
Description: Check that the package manager UI is clear, responsive, and provides necessary feedback.
- Preconditions:
Scopy running with package manager UI enabled.
- Steps:
Open the package manager UI.
- Perform install/uninstall and observe feedback.
Expected result: UI updates in real time, shows status, and is user-friendly.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 9 - Manual package deletion
UID: PKG_MANAGER.MANUAL.DELETE
Description: Test deleting a package manually from the filesystem and observe Scopy’s behavior, using the AD936X package as the test subject.
- Preconditions:
The AD936X package is installed.
- Steps:
Close Scopy.
Delete the ad936x package folder from the package directory.
- Restart Scopy.
Expected result: The AD936X package is no longer listed or loaded, and no errors occur.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 10 - Plugin info About page
UID: PKG_MANAGER.PLUGIN_INFO.ABOUT_PAGE
Description: Ensure that the “Plugins Info” tab in the About section lists all plugins that are currently loaded (i.e., have the “loaded” label).
- Preconditions:
Multiple plugins installed and enabled in Scopy.
- Steps:
Open the About section in Scopy.
Navigate to the “Plugins Info” tab.
- Verify that all plugins which are loaded are listed and have the “loaded” label.
Expected result: The “Plugins Info” tab displays all loaded plugins with the correct label, reflecting the actual state of the application.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL