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