Subject: | t/sessions.t in 1.957 failing with old openssl (or maybe perl < 5.10) |
The newly cleaned-up t/sessions.t is failing for me on some old systems:
Oldest passing: perl 5.10.0 / openssl 0.9.8g
Newest failing: perl 5.8.8 / openssl 0.9.8b
The t/sessions.t from 1.956 seems to work OK everywhere.
The failing parts of the test are the second cache tests. I added some debug code to see what was being compared and it looks like the SSL objects are not being re-used from the original clients:
t/sessions.......1..35
ok #Server initialization
ok #Context init
ok #Superficial Cache Addition Test
ok #Superficial Cache Addition Test 2
ok #Cache Keys Check 1
ok #Cache Keys Check 2
ok #Cache Head Check
ok #Cache Link Check
ok #Client init
ok #Client init
ok #Cache Keys Check 3
ok #Cache Removal Test
ok #Cache Tail Check
ok #Cache Insertion Test
ok #Cache Entry Test 0 (20002096 / 20002096)
ok #Cache Entry Test 1 (20043440 / 20043440)
ok #Cache Entry Test 2 (21468208 / 21468208)
ok #Client init 2
ok #Cache Keys Check 4
ok #Cache Keys Check 5
not ok #Second Cache Entry Test 0 (20801776 / 20002096)
ok #Write Test 0
ok #Server Read 0
ok #Server Write 0
ok #Read Test 0
not ok #Second Cache Entry Test 1 (20130944 / 20043440)
ok #Write Test 1
ok #Server Read 1
ok #Server Write 1
ok #Read Test 1
not ok #Second Cache Entry Test 2 (20782304 / 21468208)
ok #Write Test 2
ok #Server Read 2
ok #Server Write 2
ok #Read Test 2
FAILED tests 21, 26, 31
Failed 3/35 tests, 91.43% okay
I think some session caching changes were made in openssl 0.9.8f, which might be relevant?