ATTENTION: policytool now contains no platform-specific codes anymore and should behaves exactly the same across all platforms. This also means:
  1. You may only need to test it on one platform
  2. You can create policy files for a platform which is different than the platform you are running policytool on
This is a multi-stage test. Click on "done" when you have completed reading these instructions.

First, policytool will be invoked.

  1. Add new policy entry
  2. Add permission:
        Type                   Target name     Actions
        FilePermission         c:\\foo\\bar    read
        
    1. Press OK
    2. Confirm the file name warning dialog appears
    3. Choose Retain, confirm the permission edit dialog is closed
    4. Double click the newly craeted FilePermission entry to edit it
    5. Press OK
    6. Confirm the file name warning dialog appears
    7. Choose Edit, confirm the permission edit dialog is still opened
    8. change Target name to c:\foo\bar
    9. Press OK, no warning dialog is shown
  3. Add permission:
        Type                   Target name
        DelegationPermission   "me@SOMEWHERE" "you@SOMEWHERE"
        
    1. Press OK
    2. Double click the newly craeted DelegationPermission entry to edit it
    3. Confirm the target name is still "me@SOMEWHERE" "you@SOMEWHERE"
    4. Press OK
  4. Confirm there are 2 entries in the permission list
  5. Press Done
  6. Double click the new policy entry to edit it
  7. Add permission:
        Type
        AllPermission
        
  8. Add a new Principal, say, KerberosPrincipal with Principal Name as aaa
  9. Confirm there is 1 entry in the Pricipals list
  10. Confirm there are 3 entries in the permission list
  11. Press cancel
  12. Double click the policy entry to edit it
  13. Confirm there is ZERO entry in the Pricipals list
  14. Confirm there are 2 entries in the permission list
  15. Press cancel
  16. Save as /tmp/p
  17. Confirm that the file /tmp/p looks like
    /* AUTOMATICALLY GENERATED ON Tue Jul 19 16:27:30 CST 2005*/
    /* DO NOT EDIT */
    
    grant {
      permission java.io.FilePermission "c:\\foo\\bar", "read";
      permission javax.security.auth.kerberos.DelegationPermission "\"me@SOMEWHERE\" \"you@SOMEWHERE\"";
    };
    


Press "Pass" if ... press "Fail" otherwise.