The following seems to be the crux of the issue:
; Upgraded ASDF from version 1.85 to version 2.31.8 ; Registering #<system "asdf"> ;;; Writing fasl file /Users/rpg/lisp/asdf/build/asdf.fasl
this should be in an implementation-specific subdirectory, but isn't.
Well, 1.85 doesn't have asdf-output-translations.
Considering that about no one should be using asdf 1 (except that my work laptop still runs an antique ubuntu with common-lisp-controller 6.18 and asdf 1.374), we could eschew the upgrade tests from asdf 1.x. What if you edit run-tests.sh function upgrade_tags to NOT try to upgrade from the 1.x versions? And/or edit valid_upgrade_test_p to avoid upgrade tests on allegro and 1.x?
Is there any chance this could be because I am not running bash? Or somehow something is briefly turning off the output-redirection?
Well, it's vaguely possible that something happens on your system that interferes with proper output translations and/or cleanup.
Note that the first ASDF_UPGRADE_TEST_METHODS is 'load-asdf-lisp'load-asdf-lisp-clean precisely to clean the fasl from previous lisps or lisp versions used. If you overrode that variable, it could explain why some things are wrong.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org When you are young you are afraid people will steal your ideas; when you are old you are afraid they won't. — David D. Friedman