home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / h / hpack78s.zip / docs / hpaktest.txt < prev    next >
Text File  |  1992-11-30  |  16KB  |  300 lines

  1.                   The HPACK Purity Test - 134 Question Version
  2.                   ============================================
  3.                                Updated 19/09/92
  4.  
  5. Version Tested: [ 0.78          ]   Date/Time tested: [  /  /92,   :  ]
  6. ---------------                     -----------------
  7.                               
  8. Basic Functions:
  9. ----------------
  10.  
  11.  1.[ ] [A] - Add files to archive.  Create a new archive and add files to it.
  12.  2.[ ] [X] - Extract files from an existing archive.  Files extracted should
  13.               have the modification date of the original file.
  14.  3.[ ] [V] - View list of files inside archive.
  15.  4.[ ] [T] - Test integrity of files within archive.
  16.  5.[ ] [P] - Extract files within archive to screen.
  17.     
  18. Extended Basic Functions:
  19. -------------------------
  20.  
  21.  6.[ ] [A] - Add more files to an existing archive.
  22.        [D] - Delete files from an archive.  Cases for deletion:
  23.  7.[ ]       1. Delete first file in archive.
  24.  8.[ ]       2. Delete file(s) from middle of archive.
  25.  9.[ ]       3. Delete last file in archive.
  26. 10.[ ]       4. Delete multiple blocks of files.
  27.        [F] - Freshen files in archive.  Cases for freshen:   
  28. 11.[ ]       1. Freshen first file in archive.
  29. 12.[ ]       2. Freshen file(s) from middle of archive.
  30. 13.[ ]       3. Freshen last file in archive.
  31. 14.[ ]       4. Freshen multiple blocks of files.
  32.        [R] - Replace files in archive.  Cases for replace:
  33. 15.[ ]       1. Replace first file in archive.
  34. 16.[ ]       2. Replace file(s) from middle of archive.
  35. 17.[ ]       3. Replace last file in archive.
  36. 18.[ ]       4. Replace multiple blocks of files.
  37.        [U] - Update files to archive.  Cases for update:
  38. 19.[ ]       1. Update first file in archive.
  39. 20.[ ]       2. Update file(s) from middle of archive.
  40. 21.[ ]       3. Update last file in archive.
  41. 22.[ ]       4. Update multiple blocks of files.
  42.        
  43. Options:
  44. --------
  45.  
  46. 23.[ ] -0 - Store files without compression.  All files should be added without
  47.              any compression being attempted.
  48.        -a - Store attributes.  4 cases:
  49. 24.[ ]      1.  Store attributes on archiving.
  50. 25.[ ]      2.  Restore attributes on dearchiving.
  51. 26.[ ]      3.  Store directory attributes with -p flag.
  52. 27.[ ]      4.  Restore directory attributes with -p flag (not possible under
  53.                 MSDOS).
  54.        -b - Specify base path to work off.  Two cases:
  55. 28.[ ]      1.  Adding to archive:  All files should be treated as being off
  56.                 the given base path.
  57. 29.[ ]      2.  Extracting from archive:  All files should be extracted to this
  58.                 base path.
  59.        -c - Encrypt data.  See special section on encryption below.
  60.        -d - Directory options.  Six cases (three for store paths, three for
  61.              extra options):       
  62. 30.[ ]      1.  The View option should show the files by the directories they
  63.                 are in.
  64. 31.[ ]      2.  The Extract option should create the directories before the
  65.                 extraction is done.
  66. 32.[ ]      3.  The Test, Display options should show the full path for the
  67.                 files being processed.
  68. 33.[ ]      4.  Add all paths.  All paths, even those containing no files,
  69.                 should be added to the archive.
  70. 34.[ ]      5.  Extract all paths.  All paths, even those containing no files,
  71.                 should be extracted from the archive.
  72. 35.[ ]      5.  Add no paths - if the path isn't already in the archive, exit
  73.                 with an error message.
  74. 36.[ ]      6.  Incorrect option given:  Error message should indicate that an
  75.                 incorrect directory option has been given.
  76. 37.[ ] -e - Error recovery information.  This should be written for all files
  77.              specified, and consist of an error ID, the fileheader, and the
  78.              filename.
  79.        -i - Interactive mode - prompt for each file before taking any action.
  80.              6 cases:
  81. 38.[ ]      1.  Adding to archive.
  82. 39.[ ]      2.  Extracting from archive.
  83. 40.[ ]      3.  Testing/viewing file in archive.
  84. 41.[ ]      4.  Deleting from archive.
  85. 42.[ ]      5.  Freshening to archive.
  86. 43.[ ]      6.  Replacing to archive.
  87. 44.[ ]      7.  Answer 'Y' processes the file being prompted for.
  88. 45.[ ]      8.  Answer 'N' skips the file being prompted for.
  89. 46.[ ]      9.  Answer 'A' processes this and all following files.
  90.        -j - Move files.  Four cases:
  91. 47.[ ]      1.  Add/Freshen/Replace/Update with move: Files should be deleted
  92.                 after archive is created.
  93. 48.[ ]      2.  Add with move, encryption: Files should be physically
  94.                 annihilated not just deleted.
  95. 49.[ ]      3.  Extract with move: Files should be deleted from archive after
  96.                 extraction.
  97. 50.[ ]      4.  If move on a unit-compressed or encrypted archive is given, an
  98.                 error message should be printed.
  99. 51.[ ] -k - Overwrite an existing archive.  Existing archive should be deleted 
  100.              and a new one created.
  101.        -l - Add security information.  2 cases:
  102. 52.[ ]      1.  Add security information for entire archive.
  103. 53.[ ]      2.  Add security information for individual files.
  104. 54.[ ]      Individually secured files should be shown as such when the View
  105.             option is used.
  106. 55.[ ]      Secured files/archives should be tested for integrity when the 
  107.             Extract/Test/Display options are used.
  108.        -m - Multipart archives.
  109. 56.[ ]      1.  Create multipart archive.  When the disk is full, the multipart
  110.                 trailer should be added and a new disk requested.
  111. 57.[ ]      2.  Segment size of <512 bytes:  If the segment is less than 512
  112.                 bytes long, it should be deleted and a new (emptier) disk
  113.                 requested).
  114. 58.[ ]      3.  If a multipart archive contains only one segment, it should be
  115.                 stored as a normal archive.
  116. 59.[ ]      4.  If the trailer would be split over two disks, the entire
  117.                 trailer should be moved to a new disk and the seperate trailer
  118.                 flag set.
  119. 60.[ ]      4.  On reading an archive the last segment should be requested if a
  120.                 multipart archive is detected.
  121. 61.[ ]      5.  Currently unimplemented:  Once the last segment is acquired
  122.                 HPACK should read the directory information (moving to the
  123.                 previous disk if the seperate trailer flag is set).
  124. 62.[ ]      6.  When files are on seperate disks (eg disk #1, #3, and #8), only
  125.                 those disks should be requested; unused disks can be skipped.
  126.        -o - Overwrite on extract options.  6 cases:
  127. 63.[ ]      1.  Overwrite all:  All files on extraction should overwrite 
  128.                 existing files on disk.
  129. 64.[ ]      2.  Overwrite none: No files on extraction should overwrite 
  130.                 existing files on disk.
  131. 65.[ ]      3.  Overwrite smart:  Files on extraction should be given a unique
  132.                 name based on the actual name so that they don't clash with any
  133.                 file already on disk.
  134. 66.[ ]      4.  Name prompt:  The user should be prompted for a new name for 
  135.                 the file.
  136. 67.[ ]      6.  No option given:  The user is asked to confirm overwriting for
  137.                 each individual case.
  138. 68.[ ]      5.  Incorrect option given:  Error message should indicate that an
  139.                 incorrect overwrite option has been given.
  140. 69.[ ] -r - Recurse subdirectories.  All subdirectories below the given one 
  141.              should be scanned for files.
  142. 70.[ ] -s - Stealth mode.  All non-error and non-warning type messages should
  143.              be suppressed.
  144. 71.[ ] -t - Files extracted should have the current date and not the 
  145.              modification date.
  146.        -u - Unit-compressed archives.  3 cases:
  147. 72.[ ]      1.  All files should be compressed without the compressor being
  148.                  reset.  If there are many small, similar files this will
  149.                  result in a noticeable increase in compression.
  150. 73.[ ]      2.  Unit-compressed files should be extracted as normal, if any
  151.                  files are skipped they should be extracted in test mode as if
  152.                  'T' had been used instead of 'P'.
  153. 74.[ ]      3.  Any attempt to modify a unit-compressed archive should result
  154.                  in an error being printed.
  155.        -v - View options.  4 cases:
  156. 75.[ ]      1.  View files only.
  157. 76.[ ]      2.  View list of subdirectories in directories only.
  158. 77.[ ]      4.  Sort files before displaying them.
  159. 78.[ ]      5.  Incorrect option given:  Error message should indicate that an
  160.                  incorrect view option has been given.
  161.        -w - Archive comment options. 4 cases:
  162. 79.[ ]      1.  Files added with the -w option should inhabit their own
  163.                 namespace and not clash with existing files.
  164. 80.[ ]      2.  Delete, freshen, replace options should not work on comment
  165.                 files; to work on comment files the -w option needs to be
  166.                 given.
  167. 81.[ ]      3.  The view files option should display comment files (if 
  168.                 possible) or skip them (if the format cannot be handled).
  169.                 Comment files should not be included in the count of data
  170.                 files.
  171. 82.[ ]      4.  Text comments when displayed should be converted to ASCII-only 
  172.                 (or the local equivalent on the machine being used), be word 
  173.                 wrapped at the current screen width, and recognise the simple
  174.                 formatting options given in HPACKEXT.DOC.
  175.        -x - Extract options.  7 cases:
  176. 83.[ ]      1.  Translate LF -> Local EOL delimiter.
  177. 84.[ ]      2.  Translate CR -> Local EOL delimiter.
  178. 85.[ ]      3.  Translate CRLF -> Local EOL delimiter.
  179. 86.[ ]      4.  Treat 1 or 2-digit hex value as EOF symbol; xlate this to the
  180.                 local EOL delimiter.
  181. 87.[ ]      5.  Translate from EBCDIC -> ASCII.
  182. 88.[ ]      6.  Translate from Pr1ime ASCII (high bit set so they could save a
  183.                 75c IC in their serial driver) -> normal ASCII.
  184. 89.[ ]      7.  Translate from ASCII -> ASCII.
  185. 90.[ ]  -z - System-specific special options.  Print error message if no
  186.              options, otherwise results are system-specific.
  187.                 
  188. Complex options:
  189. ----------------
  190.     
  191.        -rd - Recurse and store paths.  3 cases:
  192. 91.[ ]      1.  The View option should show the files by the directories they 
  193.                 are in.
  194. 92.[ ]      2.  The Extract option should create the directories before the 
  195.                 extraction is done.
  196. 93.[ ]      3.  The Test, Display options should show the full path for the
  197.                 files being processed.
  198.        -rd with Add - 2 cases:
  199. 94.[ ]      1.  Added directories should be added to directories in archive if
  200.                 they don't already exist.
  201. 95.[ ]      2.  When directories are added to the middle of the directory tree,
  202.                 it should be rearranged into an inorder traversal with 
  203.                 contiguous directory indices before being written to disk.
  204. 96.[ ] -ard with Add - Add directories with flags.  When directory tags are 
  205.                 added to the middle of the directory tree, the directory tags 
  206.                 should be reordered when the directory tree is rebuilt.
  207.        More complex options are assumed OK provided they have been checked for
  208.        the individual-archive cases.
  209.         
  210. Listfiles:
  211. ----------
  212.  
  213. 97.[ ] Args beginning with an @ should be treated as listfiles.
  214. 98.[ ] Comments and leading whitespace in a listfile should be ignored.
  215. 99.[ ] A warning is printed for over-long paths/illegal chars.
  216. 100.[ ] Valid paths are added to the argument list as if they had been entered
  217.         from the command-line.
  218. 101.[ ] If warnings were issued, once the listfile has been processed or the
  219.         number of warning passses a certain threshold, exit with an error
  220.         count.
  221.  
  222. Encryption/Authentication:
  223. --------------------------
  224.  
  225.        Individual encryption options:
  226. 102.[ ] -c  The user should be asked for a password of between 8 and 80 chars,
  227.         -ca and the entire archive should be encrypted.
  228. 103.[ ] -ci The user should be asked for a password of between 8 and 80 chars,
  229.             and individual files should be encrypted.
  230. 104.[ ] -cs The user should be asked for a secondary password as well as the
  231.             main password and the archive directory and file data encrypted
  232.             seperately using the two passwords.
  233. 105.[ ] -cpa The given userID should be used to public-key encrypt the entire
  234.             archive.
  235. 106.[ ] -cpi The given userID should be used to public-key encrypt individual
  236.             files.
  237. 107.[ ] -cps The given userID should be used as a secondary ID as per -cs.
  238. 108.[ ]     Individually encrypted files should be show as encrypted when using
  239.             the View option.
  240. 109.[ ]     Individually encrypted files which are also secured should be
  241.             shown as encrypted and secured when using the View option.
  242. 110.[ ]     Decryption with -c for a conventional-key encrypted archive should
  243.             request the decryption password from the user.
  244. 111.[ ]     Decryption with -c for a dual-conventional-key encrypted archive
  245.             should request the secondary key from the user.
  246. 112.[ ]     Decryption with -c for a public-key encrypted archive should
  247.             require no password from the user since the key management is
  248.             automatic.
  249.        UserID handling:
  250. 113.[ ]     If a list of comma-seperated userID's is given, one PKE packet per
  251.             userID should be created to allow decryption by multiple
  252.             recipients.
  253. 114.[ ]     If a userID is given in hex, the hex fragment should be matched
  254.             against the keyID rather than the userID.
  255. 115.[ ]     If the secret key is encrypted with an algorithm HPACK can decrypt,
  256.             the user should be given three attempts at a decryption password to
  257.             decrypt the key.
  258.        Error handling:
  259. 116.[ ]     Encrypted individual files should be skipped on Extract/Test/
  260.             Display if no -c option is given.
  261. 117.[ ]     Encrypted archives should be skipped if no -c option is given.
  262. 118.[ ]     If no userID is given for public-key encryption, an error message
  263.             about the missing userID should be printed.
  264. 119.[ ]     If a wrong userID is given for public-key encryption, an error
  265.             message about the userID not being found on the keyring should be
  266.             printed.
  267. 120.[ ]     Decryption with the wrong conventional-key password should result
  268.             in a warning about a possibly incorrect password and give the
  269.             user the option of quitting.
  270.  
  271. Error Handling and Misc:
  272. ------------------------
  273.  
  274. 121.[ ] Wildcards should work for archives, files, and listfiles.
  275. 122.[ ] A help screen should be displayed if HPACK is invoked with no args.
  276. 123.[ ] Detection of non-HPACK archives:  An error message should be printed.
  277. 124.[ ] Adding an archive to itself:  The archive should be skipped.  Care
  278.         should be taken to ensure this works with aliased pathnames, for
  279.         example /A/B/C and ../C may be the same file.
  280. 125.[ ] On extraction, a file with the name of the directory tp be extracted
  281.         already exists: The directory should be skipped along with all files
  282.         and directories in it, and a warning issued.
  283. 126.[ ] Unknown command: Indicate via an error message.
  284. 127.[ ] Data errors:  A warning message should be printed in the case of
  285.         corrupted data.
  286. 128.[ ] -k with [D], [R], [F], [U] - Error message should indicate that the
  287.         archive to change would be deleted.
  288. 129.[ ] Disk full (without multipart archive specified) and similar errors:  
  289.         The original archive should be restored fully, all temporary files
  290.         deleted, and HPACK should exit with an error message.
  291. 130.[ ] User interrupt:  Exit with error message.
  292. 131.[ ] Command results in no action to take:  Indicate to the user via an
  293.         error message.
  294. 132.[ ] No files in archive:  HPACK should correctly handle the case of there
  295.         being only directories (but no files) in an archive.
  296. 133.[ ] At least two Easter Egg features are included in the executable, none
  297.         of which should be easily found.
  298. 134.[ ] The program has been used for at least 10 minutes by 'ward.  This
  299.         ensures the code is both crash-proof and idiot-proof :-).
  300.