What shall we test?


§1. Main routine.

    define INTOOL_NAME "arch-test"
    enum TEST_COMPATIBILITY_CLSW
    int main(int argc, char **argv) {
        Foundation::start();
        ArchModule::start();

        CommandLine::declare_heading(L"inexample: a tool for testing foundation facilities\n");

        CommandLine::declare_switch(TEST_COMPATIBILITY_CLSW, L"test-compatibility", 2,
            L"test compatibility checks against various target VMs");

        CommandLine::read(argc, argv, NULL, &Main::respond, &Main::ignore);

        ArchModule::end();
        Foundation::end();
        return 0;
    }

    void Main::respond(int id, int val, text_stream *arg, void *state) {
        switch (id) {
            case TEST_COMPATIBILITY_CLSW: Unit::test_compatibility(STDOUT); break;
        }
    }

    void Main::ignore(int id, text_stream *arg, void *state) {
        Errors::fatal("only switches may be used at the command line");
    }

The function main is used in 8/wm (§3).

The function Main::respond appears nowhere else.

The function Main::ignore appears nowhere else.