PERFORCE change 176779 for review
Garrett Cooper
gcooper at FreeBSD.org
Sun Apr 11 10:22:22 UTC 2010
http://p4web.freebsd.org/@@176779?ac=10
Change 176779 by gcooper at gcooper-bayonetta on 2010/04/11 10:21:45
Checkpoint testplan.
Affected files ...
.. //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/testplan#2 edit
Differences ...
==== //depot/projects/soc2007/gcooper-pkg_install-enhancements-simplified/tools/regression/usr.sbin/pkg_install/add/testplan#2 (text+ko) ====
@@ -1,40 +1,145 @@
-REQUIREMENTS:
+Basic package installation.
+
+ Local package install:
+ - Type: Positive
+ - Setup: Create basic package (no special metadata in package list).
+ - Test: Install predefined package.
+ - PF Criteria: The contents of the package must be installed in the
+ defined prefix and the permissions and the mode must match the
+ created package.
+
+ Remote package install (FTP, absolute):
+ - Type: Positive
+ - Setup: Create basic package (no special metadata in package list).
+ Host said package on ftp server.
+ - Test: Install predefined package via fully qualified URI.
+ - PF Criteria: The package must be fetched. The contents of the
+ package must be installed in the defined prefix and the permissions
+ and the mode must match the created package. The package will be
+ deleted after the installation is complete.
+
+ Remote package install (HTTP, absolute):
+ - Type: Positive
+ - Setup: Create basic package (no special metadata in package list).
+ Host said package on webserver.
+ - Test: Install predefined package via fully qualified URI.
+ - PF Criteria: The package must be fetched. The contents of the
+ package must be installed in the defined prefix and the permissions
+ and the mode must match the created package. The package will be
+ deleted after the installation is complete.
+
+ Remote package install (FTP, package name):
+ - Type: Positive
+ - Setup: Create basic package (no special metadata in package list).
+ Host said package on webserver.
+ - Test: Install predefined package.
+ - PF Criteria: The package must be fetched. The contents of the
+ package must be installed in the defined prefix and the permissions
+ and the mode must match the created package. The package will be
+ deleted after the installation is complete.
+
+ Remote package install (HTTP, package name):
+ - Type: Positive
+ - Setup: Create basic package (no special metadata in package list).
+ Host said package on webserver.
+ - Test: Install predefined package.
+ - PF Criteria: The package must be fetched. The contents of the
+ package must be installed in the defined prefix and the permissions
+ and the mode must match the created package. The package will be
+ deleted after the installation is complete.
+
+ Remote package install (pre-existing package):
+ - Type: Positive
+ - Setup: Create basic package (no special metadata in package list).
+ - Test: Install pre-existing package.
+ - PF Criteria: The package will not be fetched. The contents of the
+ package must be installed in the defined prefix and the permissions
+ and the mode must match the created package. The package will be
+ deleted after the installation is complete.
+
+ Remote package install (lacking space):
+ - Type: Negative
+ - Setup: Create a large package (or a small memory disk).
+ - Test: Attempt to install package.
+ - PF Criteria: The package will be partially fetched and fail. Thus,
+ the installation will fail as well. The package will be deleted.
+
+ Remote package install (unsupported URI scheme):
+ - Type: Negative
+ - Setup: n/a
+ - Test: Attempt to install package via non-fetch(3) supported URI
+ (say, gopher:// ?) scheme.
+ - PF Criteria: The package fetch will fail and the install will fail
+ with the utility claiming that the URI isn't supported, or something
+ of the like.
+
+ Already Installed package:
+ - Type: Negative
+ - Setup: Install a package.
+ - Test: Attempt to reinstall package.
+ - PF Criteria: The package will not be installed.
+
+ Already Installed package:
+ - Type: Positive
+ - Setup: Install a package.
+ - Test: Attempt to reinstall package with force option.
+ - PF Criteria: The package will be installed.
+
+ Local package install (package missing metadata):
+ - Type: Negative
+ - Setup: Create tarball missing required pieces (+CONTENTS, etc).
+ - Test: Attempt to install predefined package.
+ - PF Criteria: The payload contained in the package will not be
+ installed as the metadata is missing.
+
+ Missing package:
+ - Type: Negative
+ - Setup: n/a
+ - Test: Attempt to install a non-existent package.
+ - PF Criteria: The installation will fail.
+
+ Missing dependency:
+ - Type: Negative
+ - Setup: Create package A, dependent on missing package B
+ - Test: Attempt to install package A.
+ - PF Criteria: The installation will fail because of the unfulfilled
+ dependency requirement via package B.
-Package List
- - Packaging metadata is specified by a package list. It will contain
- all of the details that at first glance describe a package, such as
- what the payload will be and the properties of the payloads
- contents (ownership, mode). Other pieces describing the install
- process will exist outside of the package manifest.
+ Conflicting package:
+ - Type: Negative
+ - Setup: Create package A and package B, s.t. package A conflicts with
+ package B.
+ - Test: Install package B. Attempt to install package A.
+ - PF Criteria: package B will successfully install, but package A will
+ be rejected due to the conflict between package A and package B
+ noted in package A.
-Installing packages (basic end-to-end) flow.
- - Packaging metadata is specified by a package list, as far as what
- the payload will be, and the properties of the payloads contents, as
- well as certain actions that will be acted upon at install time and
- removal time.
- - All packages will install the appropriate files with the appropriate
- permissions and ownership.
- - If the package contains a pre-install script, it will be run prior to
- the install.
- - If the package contains a post-install script, it will be run after
- the install.
- - If the package is malformed, does not exist, or is incomplete, i.e.
- i. missing metadata.
- ii. has an incomplete or improperly specified packing list.
- iii. is a corrupt archive.
- iv. does not match the package checksum recorded <somewhere>.
- it will not be installed.
+Tertiary functionality
-Tertiary functionality:
+ Keep remote package...
+ - Precondition: the specified package has a valid libfetch supported
+ URI (ftp://, http://), or a package origin / basename is specified
+ with remote fetch requested.
-Fetching remote packages:
+ ... package exists:
+ - Setup: Create basic package (no special metadata in package list).
+ Host said package on webserver.
+ - Test: Install package; request that it be retained after the install.
+ - PF Criteria: package will be installed; package will be retained
+ after installation is complete.
- If the specified package has a valid libfetch supported URI (ftp://,
- http://), or a package origin / basename is specified with remote fetch
- requested, then the package will be fetched remotely.
+ ... missing package on remote endpoint:
+ - Setup: n/a
+ - Test: Install package from non-existent URI.
+ - PF Criteria: package will not be installed; package will not exist
+ on the disk.
- - If the package exists, it will be installed as dictated above.
- - If the package doesn't exist or is installed, it .
+ ... unsupported URI scheme:
+ - Type: Negative
+ - Setup: n/a
+ - Test: Attempt to install package via non-fetch(3) supported URI
+ (say, gopher:// ?) scheme.
+ - PF Criteria: The package fetch will fail and the install will fail
+ with the utility claiming that the URI isn't supported, or something
+ of the like. Package will not exist on the disk.
- Keep package:
- - If the package
More information about the p4-projects
mailing list