getcols.sas answers two different things and the previous commit collapsed them. "Invalid libds" comes from the shape check (%mp_validatecol - a libref of eight characters or fewer, a member of 32 or fewer), and only from there. A LIBDS that passes the shape and cannot be resolved reaches the second abort, msg=syscc=&syscc. Probed on the synthetic estate, that second abort says syscc=3000 with a SAS syntax error behind it for a well-formed unknown library, for a missing member in a known library, and for WORK.NO_SUCH alike - a defect in getcols.sas rather than a designed message. The mock reproduces it as it is, because that is what the client renders in production today, and the comment says so rather than pretending it is designed. The scenario is re-recorded with NOLIB.MPE_TABLES, which passes the shape check; the old value, NO_SUCH_LIB, is eleven characters and only ever exercised the shape abort, so its golden proved less than its name claimed. The unit test now covers the malformed, the unresolvable and the answerable cases separately.