# # This file defines the tests for multiple initialization of NSS in # different libraries. # # Test description lines control the parameters for the multinit test program. # # Init order: Upper case/digits indicate an init call, lower case indicate # a shutdown call. # M,m-Main 1,i-lib1, 2,z-lib2 # Main calls the traditional NSS init calls (simulating the main application) # lib1 and lib2 call NSS_InitContext(). # # All functions call NSS_ShutdownContext unless 'main shutdown type' is set to # 'old', in which case main will call the traditional NSS_Shutdown(). # # Commands: comma separated list of commands to execute. These simulate # executing commands from either a library or main. In each cycle, multinit # will do one initialize or shutdown, then execute all the commands # for any of the libraries or main that is currently initialized. The same # command is executed in each cycle that it's library is initialized. # # Commands are given in order or 'main','lib1','lib2'. Valid commands are: # none - don't execute any commands for this library (or main). # list_certs - list all the visible certs in the system. # list_slots - list all the slots in the system. # key_slot - list the current default key slot. # # Main Shutdown Type - which kind of shutdown does main call. See Init order. # # Directories - which directory should each init open. Listed in order of: # (main init directory),(lib1 init directory),(lib2 init directory). # # RO - Which databases to open up read only, valid values are: # all - main, lib1, and lib2 # none - open all directories R/W # libs - lib1 & lib2 # main, lib1, lib2 - their respective directories only. # # Test description lines are followed by their expected summary output. # output lines are of the form: # # tag expected output. # # where tag is one of # all - applies to all database types # sql - expected output for sql databases # dbm - expected output for dbm databases # # if you do not specify all, you must have one line each for sql and dbm # # main # init main,lib1,lib2 shutdown main,lib1,lib2 Test Case name # order commands type directories RO # ------ ------------------------ --- ----------- ----- -------------- 1M2zmi list_slots,list_certs,none new dir1,dir2,dir3 all Progressive init all 1CuuuCpppCpppCCTCCMSttS
ttSttCuuuCpupupuCpppCpppCCTCC2SttSttS
ttSttCuuuCpupupuCpupupuCpppCCTCCZSttSttS
ttSttCuuuCpupupuCpupupuCpppCCTCCNCuuuCpupupuCpupupuCpppCCTCCI 1M2zmi list_certs,none,none old dir1,dir2,dir3 all Progressive init - oldStyle all 1MCuuuCpupupuCpppCpppCCTCC2CuuuCpupupuCpupupuCpppCCTCCZCuuuCpupupuCpupupuCpppCCTCCNIE0xffffe09a 12Mizm none,list_certs,none new dir1,dir2,dir3 all Sequenced init all 1CuuuCpppCpppCCTCC2CuuuCpupupuCpppCCTCCMCuuuCpupupuCpupupuCpppCCTCCIZN 12Mizm none,list_certs,none old dir1,dir2,dir3 all Sequenced init - old Style all 1CuuuCpppCpppCCTCC2CuuuCpupupuCpppCCTCCMCuuuCpupupuCpupupuCpppCCTCCIZN 1Mi2mz none,list_certs,list_slots new dir1,dir2,dir3 all Overlap shutdown all 1CuuuCpppCpppCCTCCMCuuuCpupupuCpppCpppCCTCCI2SttSttS
ttSttNSttSttS
ttSttZ 1Mi2mz none,key_slot,none new dir1,dir2,dir3 all Keyslot test all 1SttMS
ttI2NZ M12miz none,key_slot,none new dir1,dir2,dir3 all Main init first all M1S
tt2S
ttNS
ttIZ M12miz key_slot,none,none old dir1,dir2,dir3 all Main init first - old Style all MS
tt1S
tt2S
ttNIE0xffffe09aZE0xffffe09a M12miz list_slots,none,none new dir1,dir1,dir2 all Loading the same directory twice all MSttS
tt1SttS
tt2SttSttS
ttNIZ M12miz list_slots,none,none new dir1,dir1,dir2 libs Loading the same directory twice - r/w then ro all MSttS
tf1SttS
tf2SttSttS
tfNIZ M12miz list_slots,none,none new dir1,dir1,dir2 main Loading the same directory twice - ro then r/w sql MSttS
tt1SttStfS
tt2SttStfStfS
ttNIZ dbm MSttS
tt1SttS
tt2SttStfS
ttNIZ M12miM1zim key_slot,none,none old dir1,dir2,dir3 all Properly detect shutdown of a closed handle all MS
tt1S
tt2S
ttNIE0xffffe09aMS
tt1S
ttZE0xffffe09aS
ttIS
ttN