You didn't hear it from me, but a certain auto company's Y2K testing of manufacturing software turned up a single defect that would have shut down plants. For one day. They're glad they found it. Civilization would not have fallen had they not. But they're really glad they have a giant full-time Y2K testing lab.
It's not fixed until you test it:
I inherited a project that handled 2 digit Y2K issues with logic like this:
if year2 = 0 then ! This is a NULL date, which requires special application processing... else if year2 > 50 then year4 = 1900 + year2 else year4 = 2000 + year2 end ifCareless logic: It fails for all dates in the year 2000 itself (but works for 2001 to 2050). Fix was to change the first line to "if year2 = 0 and month = 0 and day = 0 then ..."
(The input could not be changed to 4 digit years, because you can't change the ANSI X.12 EDI standards that easily. ;-)
Also, unaware of implementation techniques such as the above, upper management was claiming that this software would handle all 4 digit dates well into the future -- a highly misleading claim. (...wait until we hit the "year 2050 crisis!")