void _dtor() { if (this == m_test_object) { return; } _run_tests(); delete [] _m_tasks; for (test* current_test : m_test_object->_m_task_list) { delete current_test; } delete m_test_object; }
void Java_org_deadc0de_apple2ix_Apple2Activity_nativeOnCreate(JNIEnv *env, jobject obj, jstring j_dataDir, jint sampleRate, jint monoBufferSize, jint stereoBufferSize) { const char *dataDir = (*env)->GetStringUTFChars(env, j_dataDir, 0); // Android lifecycle can call onCreate() multiple times... if (data_dir) { LOG("IGNORING multiple calls to nativeOnCreate ..."); return; } discover_cpu_family(); // Do not remove this deadc0de ... it forces a runtime load-library/link error on Gingerbread devices if we have // incorrectly compiled the app against a later version of the NDK!!! int pagesize = getpagesize(); LOG("PAGESIZE IS : %d", pagesize); data_dir = strdup(dataDir); if (crashHandler && crashHandler->init) { crashHandler->init(data_dir); } (*env)->ReleaseStringUTFChars(env, j_dataDir, dataDir); LOG("data_dir : %s", data_dir); android_deviceSampleRateHz = (unsigned long)sampleRate; android_monoBufferSubmitSizeSamples = (unsigned long)monoBufferSize; android_stereoBufferSubmitSizeSamples = (unsigned long)stereoBufferSize; #if TESTING assert(cpu_thread_id == 0 && "CPU thread must not be initialized yet..."); _run_tests(); // CPU thread is started from testsuite (if needed) #else cpu_pause(); emulator_start(); #endif }
static int pkd_run_tests(void) { int rc = -1; int tindex = 0; const UnitTest openssh_tests[] = { PKDTESTS_DEFAULT(emit_unit_test_comma, openssh_dsa, OPENSSH_CMD) PKDTESTS_KEX(emit_unit_test_comma, openssh_dsa, OPENSSH_KEX_CMD) PKDTESTS_CIPHER(emit_unit_test_comma, openssh_dsa, OPENSSH_CIPHER_CMD) PKDTESTS_CIPHER_AES192(emit_unit_test_comma, openssh_dsa, OPENSSH_CIPHER_CMD) PKDTESTS_MAC(emit_unit_test_comma, openssh_dsa, OPENSSH_MAC_CMD) PKDTESTS_DEFAULT(emit_unit_test_comma, openssh_rsa, OPENSSH_CMD) PKDTESTS_KEX(emit_unit_test_comma, openssh_rsa, OPENSSH_KEX_CMD) PKDTESTS_CIPHER(emit_unit_test_comma, openssh_rsa, OPENSSH_CIPHER_CMD) PKDTESTS_CIPHER_AES192(emit_unit_test_comma, openssh_rsa, OPENSSH_CIPHER_CMD) PKDTESTS_MAC(emit_unit_test_comma, openssh_rsa, OPENSSH_MAC_CMD) PKDTESTS_DEFAULT(emit_unit_test_comma, openssh_e256, OPENSSH_CMD) PKDTESTS_KEX(emit_unit_test_comma, openssh_e256, OPENSSH_KEX_CMD) PKDTESTS_CIPHER(emit_unit_test_comma, openssh_e256, OPENSSH_CIPHER_CMD) PKDTESTS_CIPHER_AES192(emit_unit_test_comma, openssh_e256, OPENSSH_CIPHER_CMD) PKDTESTS_MAC(emit_unit_test_comma, openssh_e256, OPENSSH_MAC_CMD) PKDTESTS_DEFAULT(emit_unit_test_comma, openssh_ed, OPENSSH_CMD) PKDTESTS_KEX(emit_unit_test_comma, openssh_ed, OPENSSH_KEX_CMD) PKDTESTS_CIPHER(emit_unit_test_comma, openssh_ed, OPENSSH_CIPHER_CMD) PKDTESTS_CIPHER_AES192(emit_unit_test_comma, openssh_ed, OPENSSH_CIPHER_CMD) PKDTESTS_MAC(emit_unit_test_comma, openssh_ed, OPENSSH_MAC_CMD) }; const UnitTest dropbear_tests[] = { PKDTESTS_DEFAULT(emit_unit_test_comma, dropbear, DROPBEAR_CMD) PKDTESTS_CIPHER(emit_unit_test_comma, dropbear, DROPBEAR_CIPHER_CMD) PKDTESTS_MAC(emit_unit_test_comma, dropbear, DROPBEAR_MAC_CMD) }; const UnitTest noop_tests[] = { emit_unit_test(client, noop, "", setup_noop, teardown) }; /* Test list is populated depending on which clients are enabled. */ UnitTest all_tests[(sizeof(openssh_tests) / sizeof(openssh_tests[0])) + (sizeof(dropbear_tests) / sizeof(dropbear_tests[0])) + (sizeof(noop_tests) / sizeof(noop_tests[0]))]; memset(&all_tests[0], 0x0, sizeof(all_tests)); /* Generate client keys and populate test list for each enabled client. */ if (is_openssh_client_enabled()) { setup_openssh_client_keys(); memcpy(&all_tests[tindex], &openssh_tests[0], sizeof(openssh_tests)); tindex += (sizeof(openssh_tests) / sizeof(openssh_tests[0])); } if (is_dropbear_client_enabled()) { setup_dropbear_client_rsa_key(); memcpy(&all_tests[tindex], &dropbear_tests[0], sizeof(dropbear_tests)); tindex += (sizeof(dropbear_tests) / sizeof(dropbear_tests[0])); } memcpy(&all_tests[tindex], &noop_tests[0], sizeof(noop_tests)); tindex += (sizeof(noop_tests) / sizeof(noop_tests[0])); if (pkd_dargs.opts.testname == NULL) { rc = _run_tests(all_tests, tindex); } else { int i = 0; const UnitTest *found = NULL; const char *testname = pkd_dargs.opts.testname; while (testmap[i].testname != NULL) { if (strcmp(testmap[i].testname, testname) == 0) { found = &testmap[i].test[0]; break; } i += 1; } if (found != NULL) { rc = _run_tests(found, 3); } else { fprintf(stderr, "Did not find test '%s'\n", testname); } } /* Clean up client keys for each enabled client. */ if (is_dropbear_client_enabled()) { cleanup_dropbear_client_rsa_key(); } if (is_openssh_client_enabled()) { cleanup_openssh_client_keys(); } /* Clean up any server keys that were generated. */ cleanup_rsa_key(); cleanup_dsa_key(); cleanup_ecdsa_keys(); return rc; }