I'm trying to understand whether you mean that you concur that read-line is actually broken in the same way and want it fixed. This has nothing to do with my first change:
* (defclass mystream (fundamental-input-stream) ())
* (defmethod stream-read-line ((self mystream)) :here)
* (read-line (make-instance 'mystream)) => :HERE, NIL
Most gray stream methods improperly allowed an incorrect return type.
But to add a test for read-line to assert that it returns STRING would mean *actually* fixing read-line to make the test pass, which would mean changing a behavior that there is no need to change right now. So we can't just add a test. We either fix it and add a test, or don't add a test.