To reproduce, first (def-suite :test), then put (def-suite :foo :in :test) in file.lisp, and compile & load file.lisp, either from SLIME or from an ASDF system. There is now two :foo in (slot-value (fiveam::tests (fiveam:get-test :fetch/all)) 'fiveam::names). Running the tests will also print a spurious extra Running test suite FOO message.
Is there something that I miss? I think the fix is to change (SETF GET-TEST) so that it PUSHNEW instead of PUSH.