/* This file automatically runs the tests and extract out results */

FUNC void check_results (void)
{
    if (test_pass) {
        exec("LOG > NN_TEST.log");
        printf("Test passed\n");
        exec("LOG OFF");
    } else {
        exec("LOG > NN_TEST.log");
        printf("Test failed\n");
        exec("D test_flags");
        exec("LOG OFF");
    }
}



RESET                                               /* Reset the target processor */
LOG OFF                                             /* Turn off Logging by default. */

G

check_results()

EXIT