| Solaris |
|
|
| Title | Name | Version | Date |
|---|---|---|---|
| Test Sponsor | U.V.Ravindra | ||
| Development Lead | Stephen Hahn | ||
| Development Manager | B J Wahl | ||
| Test Manager | Lucy Weber |
Does this project use any external open source test software? Yes
| Date (yyyy-mm-dd) | Revision | Comments | Status |
|---|---|---|---|
| 2009-10-07 | 0.1 | Initial draft | Reviewed by project team |
| 2010-01-29 | 0.2 | Comments incorporated, features and testing updated | In review |
| Term | Definition |
|---|---|
| IPS | Image Packaging System |
This test plan covers testing of the Image Packaging System (IPS) Project areas including the following:
A Virtual Test Framework will be used to test image-update and other pkg commands on active images.
IPS Package Components
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| FMRI | Automated | Functional | pkg(1), pkgsend(1) data | Verify that only valid FMRIs can be created and invalid FMRIs can be detected. |
| file action | Automated | Functional | pkg(1), pkgsend(1) data | Verify file actions. |
| file elf action | Automated | Functional | pkg(1), pkgsend(1) data | Verify file action elf attributes. |
| dir action | Automated | Functional | pkg(1), pkgsend(1) data | Verify directory actions. |
| link action | Automated | Functional | pkg(1), pkgsend(1) data | Verify link actions. |
| hardlink action | Automated | Functional | pkg(1), pkgsend(1) data | Verify hardlink actions. |
| driver action | Automated | Functional | pkg(1), pkgsend(1) data | Verify driver actions. |
| depend action | Automated | Functional | pkg(1), pkgsend(1) data | Verify depend actions. |
| license action | Automated | Functional | pkg(1), pkgsend(1) data | Verify license actions, including must-display and must-accept attributes. |
| legacy action | Automated | Functional | pkg(1), pkgsend(1) data | Verify legacy actions. |
| set action | Automated | Functional | pkg(1), pkgsend(1) data | Verify set actions including pkg.obsolete and pkg.renamed. |
| group action | Automated | Functional | pkg(1), pkgsend(1) data | Verify group actions. |
| user action | Automated | Functional | pkg(1), pkgsend(1) data | Verify user actions. |
| reboot-needed actuator | Automated | Functional | pkg(1), pkgsend(1) data | Verify reboot-needed actuator. |
| disable_fmri actuator | Automated | Functional | pkg(1), pkgsend(1) data | Verify disable_fmri actuator. |
| refresh_fmri actuator | Automated | Functional | pkg(1), pkgsend(1) data | Verify refresh_fmri actuator. |
| restart_fmri actuator | Automated | Functional | pkg(1), pkgsend(1) data | Verify restart_fmri actuator. |
| suspend_fmri actuator | Automated | Functional | pkg(1), pkgsend(1) data | Verify suspend_fmri actuator. |
| specific pkg version | Automated | Functional | pkg(1) | Verify specific pkg versions can be accessed. |
| manifest | Automated | Functional | pkg(1), pkgsend(1) data | Verify pkg manifests. |
IPS Client Side Data Components
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| /var/pkg/cfg_cache | Automated | Functional | pkg(1), packagemanager(1) | Verify cfg_cache data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. (project private, not stable) |
| /var/pkg/download | Automated | Functional | pkg(1), packagemanager(1) | Verify download data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. (project private, not stable) |
| /var/pkg/file | Automated | Functional | pkg(1), packagemanager(1) | Verify file data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. |
| /var/pkg/gui_cache | Automated | Functional | pkg(1), packagemanager(1) | Verify gui_cache data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. |
| /var/pkg/history | Automated | Functional | pkg(1), packagemanager(1) | Verify history data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. (project private, not stable) |
| /var/pkg/index | Automated | Functional | pkg(1), packagemanager(1) | Verify index data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. (project private, tested during search operations) |
| /var/pkg/pkg | Automated | Functional | pkg(1), packagemanager(1) | Verify pkg data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. |
| /var/pkg/publisher | Automated | Functional | pkg(1), packagemanager(1) | Verify publisher data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. |
| /var/pkg/state | Automated | Functional | pkg(1), packagemanager(1) | Verify state data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. (project private, may be disappearing???) |
| /var/pkg/tmp | Automated | Functional | pkg(1), packagemanager(1) | Verify tmp data is consistent with pkg(1) and packagemanager(1) operations and corrupted data and permission issues can be detected. |
IPS Server Side Data Components
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| repo catalog | Automated | Functional | pkg.depotd(1M), pkgsend(1) | Verify catalog data is consistent with pkg.depotd(1M) and pkgsend(1) operations and corrupted data and permission issues can be detected. |
| repo cfg_cache | Automated | Functional | pkg.depotd(1M), pkgsend(1) | Verify cfg_cache data is consistent with pkg.depotd(1M) and pkgsend(1) operations and corrupted data and permission issues can be detected. (project private, not stable) |
| repo file | Automated | Functional | pkg.depotd(1M), pkgsend(1) | Verify file data is consistent with pkg.depotd(1M) and pkgsend(1) operations and corrupted data and permission issues can be detected. (not stable) |
| repo index | Automated | Functional | pkg.depotd(1M), pkgsend(1) | Verify index data is consistent with pkg.depotd(1M) and pkgsend(1) operations and corrupted data and permission issues can be detected. (project private, not stable) |
| repo pkg | Automated | Functional | pkg.depotd(1M), pkgsend(1) | Verify pkg data is consistent with pkg.depotd(1M) and pkgsend(1) operations and corrupted data and permission issues can be detected. |
| repo trans | Automated | Functional | pkg.depotd(1M), pkgsend(1) | Verify trans data is consistent with pkg.depotd(1M) and pkgsend(1) operations and corrupted data and permission issues can be detected. |
IPS API (Project Private)
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| ImageInterface init | Automated | Functional | client/api | Verify init function works correctly |
| ImageInterface root | Automated | Functional | client/api | Verify root function works correctly |
| ImageInterface check_be_name | Automated | Functional | client/api | Verify check_be_name function works correctly |
| ImageInterface plan_install | Automated | Functional | client/api | Verify plan_install function works correctly |
| ImageInterface plan_uninstall | Automated | Functional | client/api | Verify plan_uninstall function works correctly |
| ImageInterface plan_update_all | Automated | Functional | client/api | Verify plan_update_all function works correctly |
| ImageInterface plan_change_variant | Automated | Functional | client/api | Verify plan_change_variant function works correctly |
| ImageInterface describe | Automated | Functional | client/api | Verify describe function works correctly |
| ImageInterface prepare | Automated | Functional | client/api | Verify prepare function works correctly |
| ImageInterface execute_plan | Automated | Functional | client/api | Verify execute_plan function works correctly |
| ImageInterface refresh | Automated | Functional | client/api | Verify refreshe function works correctly |
| ImageInterface info | Automated | Functional | client/api | Verify info function works correctly |
| ImageInterface can_be_canceled | Automated | Functional | client/api | Verify can_be_canceled function works correctly |
| ImageInterface reset | Automated | Functional | client/api | Verify reset function works correctly |
| ImageInterface cancel | Automated | Functional | client/api | Verify cancel function works correctly |
| ImageInterface local_search | Automated | Functional | client/api | Verify local_search function works correctly |
| ImageInterface remote_search | Automated | Functional | client/api | Verify remote_search function works correctly |
| ImageInterface rebuild_search_index | Automated | Functional | client/api | Verify rebuild_search_index function works correctly |
| ImageInterface validate_response | Automated | Functional | client/api | Verify validate_response function works correctly |
| ImageInterface add_publisher | Automated | Functional | client/api | Verify add_publisher function works correctly |
| ImageInterface get_preferred_publisher | Automated | Functional | client/api | Verify get_preferred_publisher function works correctly (changing) |
| ImageInterface get_publisher | Automated | Functional | client/api | Verify get_publisher function works correctly |
| ImageInterface get_publisher_last_update_time | Automated | Functional | client/api | Verify get_publisher_last_update_time function works correctly |
| ImageInterface has_publisher | Automated | Functional | client/api | Verify has_publisher function works correctly |
| ImageInterface remove_publisher | Automated | Functional | client/api | Verify remove_publisher function works correctly |
| ImageInterface set_preferred_publisher | Automated | Functional | client/api | Verify set_preferred_publisher function works correctly |
| ImageInterface update_publisher | Automated | Functional | client/api | Verify update_publisher function works correctly |
| ImageInterface log_operation_end | Automated | Functional | client/api | Verify log_operation_end function works correctly |
| ImageInterface log_operation_error | Automated | Functional | client/api | Verify log_operation_error function works correctly |
| ImageInterface log_operation_start | Automated | Functional | client/api | Verify log_operation_start function works correctly |
| ImageInterface parse_p5i | Automated | Functional | client/api | Verify parse_p5i function works correctly |
| ImageInterface write_p5i | Automated | Functional | client/api | Verify write_p5i function works correctly |
| Query init | Automated | Functional | client/api | Verify init function works correctly |
| PlanDescription init | Automated | Functional | client/api | Verify init function works correctly |
| PlanDescription get_changes | Automated | Functional | client/api | Verify get_changes function works correctly |
| LicenseInfo init | Automated | Functional | client/api | Verify init function works correctly |
| LicenseInfo get_text | Automated | Functional | client/api | Verify get_text function works correctly |
| LicenseInfo str | Automated | Functional | client/api | Verify str function works correctly |
| PackageCategory init | Automated | Functional | client/api | Verify init function works correctly |
| PackageCategory str | Automated | Functional | client/api | Verify str function works correctly |
| PackageInfo init | Automated | Functional | client/api | Verify init function works correctly |
| PackageInfo str | Automated | Functional | client/api | Verify str function works correctly |
| PackageInfo build_from_fmri | Automated | Functional | client/api | Verify build_from_fmri function works correctly |
| CatalogInterface init | Automated | Functional | server/api | Verify init function works correctly |
| CatalogInterface fmris | Automated | Functional | server/api | Verify fmris function works correctly |
| CatalogInterface get_matching_pattern_fmris | Automated | Functional | server/api | Verify get_matching_pattern_fmris function works correctly |
| CatalogInterface get_matching_version_fmris | Automated | Functional | server/api | Verify get_matching_version_fmris function works correctly |
| CatalogInterface last_modified | Automated | Functional | server/api | Verify last_modified function works correctly |
| CatalogInterface package_count | Automated | Functional | server/api | Verify package_count function works correctly |
| CatalogInterface search | Automated | Functional | server/api | Verify search function works correctly |
| CatalogInterface search_available | Automated | Functional | server/api | Verify search_available function works correctly |
| ConfigInterface init | Automated | Functional | server/api | Verify init function works correctly (changing) |
| ConfigInterface catalog_requests | Automated | Functional | server/api | Verify catalog_requests function works correctly (changing) |
| ConfigInterface content_root | Automated | Functional | server/api | Verify content_root function works correctly (changing) |
| ConfigInterface file_requests | Automated | Functional | server/api | Verify file_requests function works correctly (changing) |
| ConfigInterface filelist_requests | Automated | Functional | server/api | Verify filelist_requests function works correctly (changing) |
| ConfigInterface filelist_file_requests | Automated | Functional | server/api | Verify filelist_file_requests function works correctly (changing) |
| ConfigInterface in_flight_transactions | Automated | Functional | server/api | Verify in_flight_transactions function works correctly (changing) |
| ConfigInterface manifest_requests | Automated | Functional | server/api | Verify manifest_requests function works correctly (changing) |
| ConfigInterface mirror | Automated | Functional | server/api | Verify mirror function works correctly (changing) |
| ConfigInterface readonly | Automated | Functional | server/api | Verify readonly function works correctly (changing) |
| ConfigInterface rename_requests | Automated | Functional | server/api | Verify rename_requests function works correctly (changing) |
| ConfigInterface web_root | Automated | Functional | server/api | Verify web_root function works correctly (changing) |
| ConfigInterface get_repo_attrs | Automated | Functional | server/api | Verify get_repo_attrs function works correctly (changing) |
| ConfigInterface get_repo_attr_value | Automated | Functional | server/api | Verify get_repo_attr_value function works correctly (changing) |
| RequestInterface init | Automated | Functional | server/api | Verify init function works correctly |
| RequestInterface get_accepted_languages | Automated | Functional | server/api | Verify get_accepted_languages function works correctly |
| RequestInterface get_rel_path | Automated | Functional | server/api | Verify get_rel_path function works correctly |
| RequestInterface log | Automated | Functional | server/api | Verify log function works correctly |
| RequestInterface params | Automated | Functional | server/api | Verify params function works correctly |
| RequestInterface path_info | Automated | Functional | server/api | Verify path_info function works correctly |
| RequestInterface query_string | Automated | Functional | server/api | Verify query_string function works correctly |
| RequestInterface url | Automated | Functional | server/api | Verify url function works correctly |
IPS CLI
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| pkg install | Automated | Functional | pkg(1) | Verify pkg install command and options function correctly. |
| pkg uninstall | Automated | Functional | pkg(1) | Verify pkg uninstall command and options function correctly. |
| pkg verify | Automated | Functional | pkg(1) | Verify pkg verify command and options function correctly. |
| pkg fix | Automated | Functional | pkg(1) | Verify pkg fix command and options function correctly. |
| pkg info | Automated | Functional | pkg(1) | Verify pkg info command and options function correctly. |
| pkg contents | Automated | Functional | pkg(1) | Verify pkg contents command and options function correctly. |
| pkg list | Automated | Functional | pkg(1) | Verify pkg list command and options function correctly. |
| pkg search | Automated | Functional | pkg(1) | Verify pkg search command and options function correctly. |
| pkg refresh | Automated | Functional | pkg(1) | Verify pkg refresh command and options function correctly. |
| pkg image-create | Automated | Functional | pkg(1) | Verify pkg image-create command and options function correctly. |
| pkg image-update | Automated | Functional | pkg(1) | Verify pkg image-update command and options function correctly. |
| pkg variant | Automated | Functional | pkg(1) | Verify pkg variant command and options function correctly. |
| pkg change-variant | Automated | Functional | pkg(1) | Verify pkg change-variant command and options function correctly. |
| pkg facet | Automated | Functional | pkg(1) | Verify pkg facet command and options function correctly. |
| pkg change-facet | Automated | Functional | pkg(1) | Verify pkg change-facet command and options function correctly. |
| pkg set-property | Automated | Functional | pkg(1) | Verify pkg set-property command and options function correctly. |
| pkg unset-property | Automated | Functional | pkg(1) | Verify pkg unset-property command and options function correctly. |
| pkg property | Automated | Functional | pkg(1) | Verify pkg property command and options function correctly. |
| pkg set-publisher | Automated | Functional | pkg(1) | Verify pkg set-publisher command and options function correctly. |
| pkg unset-publisher | Automated | Functional | pkg(1) | Verify pkg unset-publisher command and options function correctly. |
| pkg publisher | Automated | Functional | pkg(1) | Verify pkg property command and options function correctly. |
| pkg history | Automated | Functional | pkg(1) | Verify pkg history command and options function correctly. |
| pkg purge-history | Automated | Functional | pkg(1) | Verify pkg purge-history command and options function correctly. |
| pkg rebuild-index | Automated | Functional | pkg(1) | Verify pkg rebuild-index command and options function correctly. |
| pkg version | Automated | Functional | pkg(1) | Verify pkg version command and options function correctly. |
| pkg help | Automated | Functional | pkg(1) | Verify pkg help command and options function correctly. |
| pkgsend create-repository | Automated | Functional | pkgsend(1) | Verify pkgsend create-repository command and options function correctly. |
| pkgsend open | Automated | Functional | pkgsend(1) | Verify pkgsend open command and options function correctly. |
| pkgsend add action | Automated | Functional | pkgsend(1) | Verify pkgsend add action command and options function correctly. |
| pkgsend import | Automated | Functional | pkgsend(1) | Verify pkgsend import command and options function correctly. |
| pkgsend include | Automated | Functional | pkgsend(1) | Verify pkgsend include command and options function correctly. |
| pkgsend publish | Automated | Functional | pkgsend(1) | Verify pkgsend publish command and options function correctly. |
| pkgsend close | Automated | Functional | pkgsend(1) | Verify pkgsend close command and options function correctly. |
| pkgsend refresh-index | Automated | Functional | pkgsend(1) | Verify pkgsend refresh-index command and options function correctly. |
| pkgsend generate | Automated | Functional | pkgsend(1) | Verify pkgsend generate command and options function correctly. |
| pkgrecv | Automated | Functional | pkgrecv(1) | Verify pkgrecv command and options function correctly. |
| pkgdiff | Automated | Functional | pkgdiff(1) | Verify pkgdiff command and options function correctly. |
| pkgdepend generate | Automated | Functional | pkgdepend(1) | Verify pkgdepend generate command and options function correctly. |
| pkgdepend resolve | Automated | Functional | pkgdepend(1) | Verify pkgdepend resolve command and options function correctly. |
| pkgmogrify | Automated | Functional | pkgmogrify(1) | Verify pkgmogrify command and options function correctly. |
| pkg.depotd | Automated | Functional | pkg.depotd(1M) | Verify pkg.depotd command and options function correctly. |
| packagemanager | Automated | Functional | packagemanager(1) | Verify packagemanager command and options function correctly. |
| pm-updatemanager | Automated | Functional | pm-updatemanager(1) | Verify pm-updatemanager command and options function correctly. |
IPS GUI
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| PM Search | Automated | Functional | PackageManager | Verify package search functions correctly. |
| PM View | Automated | Functional | PackageManager | Verify package view functions correctly. |
| PM Update All | Automated | Functional | PackageManager | Verify image update functions correctly. |
| PM Refresh | Automated | Functional | PackageManager | Verify screen refresh functions correctly. |
| PM Install | Automated | Functional | PackageManager | Verify package install functions correctly. |
| PM Update | Automated | Functional | PackageManager | Verify package update functions correctly. |
| PM Remove | Automated | Functional | PackageManager | Verify package remove functions correctly. |
| PM Publisher | Automated | Functional | PackageManager | Verify select publisher functions correctly. |
| PM Categories | Automated | Functional | PackageManager | Verify category selection and display functions correctly. |
| PM Package Detail | Automated | Functional | PackageManager | Verify package detail tabs function correctly. |
| PM Manage BE | Automated | Functional | PackageManager | Verify BE list, delete and rename functions work correctly. |
| PM Help | Automated | Functional | PackageManager | Verify help functions correctly. |
| Update Manager | Automated | Functional | UpdateManager | Verify update manager functions correctly. |
| Web Install | Automated | Functional | WebInstall | Verify .p5i web install GUI functions correctly. |
IPS Services
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| depot server | Automated | Functional | pkg.depotd(1M) | Verify depot server SMF manifest and SMF operations function correctly. |
| Update Manager Notifier | Automated | Functional | UpdateManagerNotifier | Verify update manager notifier SMF manifest and SMF operations function correctly. |
Key Areas
| Test Name | Automated or Manual | Test Type | Project Component | Description |
|---|---|---|---|---|
| image-update no update | Automated | Functional | pkg(1) | Verify image-update functions correctly when no updates are available. |
| image-update to current build | Automated | Functional | pkg(1) | Verify image-updates to current /dev build function correctly. |
| image-update to current release | Automated | Functional | pkg(1) | Verify image-updates to current /release function correctly. |
| image-update sequential | Automated | Functional | pkg(1) | Verify multiple sequential image-updates function correctly. |
| multiple publisher | Automated | Functional | pkg(1) | Verify pkg operations from multiple active publishers function correctly. |
| certificate | Automated | Functional | pkg(1) | Verify certificate operations function correctly. |
| depot sequential publication | Automated | Stress | pkg(1) et all | Verify sequential repository publication operations from a single client are handled correctly. |
| depot concurrent publication | Automated | Stress | pkg(1) et all | Verify concurrent random repository publication operations from multiple clients are handled correctly. |
| depot sequential read | Automated | Stress | pkg(1) et all | Verify sequential repository read operations from a single client are handled correctly. |
| depot concurrent read | Automated | Stress | pkg(1) et all | Verify concurrent random repository read operations from multiple clients are handled correctly. |
The automated tests will be organized into the following test suites:
The functional tests defined in section 5.1 will be executed.
ON-PIT DIY will be used to run selected test suites on systems containing current IPS bits to ensure no functional regressions occur.
None
The stress tests defined in section 5.1 will be executed including:
Performance baselines for key IPS operations will be established. TBD.
(in work)
The use of the ::findleaks utility within mdb(1) will be used to verify no memory leaks occur after performing IPS operations.
Memory footprint of key IPS operations will be monitored.
IPS will be tested in the following Zone environments:
ZFS testing is covered in section 6.2 regression testing.
TBD
IPS will be tested within the following Guest OS environments:
The following projects depend on the IPS project. We will work with these project teams to ensure IPS interoperability and to leverage IPS testing.
The following man pages will be verified to ensure the content is readable and matches functionality:
IPS user functions will be tested to ensure they can be localized.
(need to determine if hardware platforms have unique attributes that should be tested differently)
None
TBD
TBD
Terms of Use
|
Privacy
|
Trademarks
|
Copyright Policy
|
Site Guidelines
|
Site Map
|
Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
© 2012, Oracle Corporation and/or its affiliates.