Why I Want Smalltalk's Image-Based Systems

Ovid on 2008-06-19T10:08:13

Or maybe I want Microsoft's Powershell, as I'm guessing I could write hooks into the latter.

I'm analyzing our test suite for a serious refactoring and I'm having issues. Here's a symptom of the problem:

$ ls t/system/tva/versions
all-versions.xml                   no-version.xml
illegal_code_and_combination.xml   version_with_all_cast_types.xml
illegal_guidance_combination.xml   version_with_cast_and_credits.xml
legal_guidance_combinations.xml    version_with_otheridentifier.xml
no_guideance_codes.xml             version_with_otheridentifiers.xml
no-episode.xml                     versions.xml

Where are those used? Eventually I had to do this (actually, this is the simplified version):

for file in `ls t/system/tva/versions|awk -F'.' '{print $1}'`; do \ 
    ack $file --all  t aggtests/; \
done

That didn't find everything, but it was a good start. With either Smalltalk or Powershell, I imagine that I could easily use those as objects and have everything in the test system provide uses and used_by methods.

So I'm trying to figure this out with bash. I'm thinking a miserable SQLite database to start with ...

In the meantime, I'm going to try to reorganize things so that simply doing an ls in a directory will provide maximum possible information. See Schwern's Skimmable Code post.