int main(int argc, char *argv[]) { plan_lazy(); knot_mm_t pool; mm_ctx_mempool(&pool, MM_DEFAULT_BLKSIZE); char *dbid = test_mkdtemp(); ok(dbid != NULL, "make temporary directory"); /* Random keys. */ unsigned nkeys = 10000; char **keys = mm_alloc(&pool, sizeof(char*) * nkeys); for (unsigned i = 0; i < nkeys; ++i) { keys[i] = str_key_rand(KEY_MAXLEN, &pool); } /* Sort random keys. */ str_key_sort(keys, nkeys); /* Execute test set for all backends. */ struct knot_db_lmdb_opts lmdb_opts = KNOT_DB_LMDB_OPTS_INITIALIZER; lmdb_opts.path = dbid; struct knot_db_trie_opts trie_opts = KNOT_DB_TRIE_OPTS_INITIALIZER; knot_db_test_set(nkeys, keys, &lmdb_opts, knot_db_lmdb_api(), &pool); knot_db_test_set(nkeys, keys, &trie_opts, knot_db_trie_api(), &pool); /* Cleanup. */ mp_delete(pool.ctx); test_rm_rf(dbid); free(dbid); return 0; }
bool torture_local_replace(struct torture_context *ctx) { bool ret = true; ret &= test_ftruncate(); ret &= test_strlcpy(); ret &= test_strlcat(); ret &= test_mktime(); ret &= test_initgroups(); ret &= test_memmove(); ret &= test_strdup(); ret &= test_setlinebuf(); ret &= test_vsyslog(); ret &= test_timegm(); ret &= test_setenv(); ret &= test_strndup(); ret &= test_strnlen(); ret &= test_waitpid(); ret &= test_seteuid(); ret &= test_setegid(); ret &= test_asprintf(); ret &= test_snprintf(); ret &= test_vasprintf(); ret &= test_vsnprintf(); ret &= test_opendir(); ret &= test_readdir(); ret &= test_telldir(); ret &= test_seekdir(); ret &= test_dlopen(); ret &= test_chroot(); ret &= test_bzero(); ret &= test_strerror(); ret &= test_errno(); ret &= test_mkdtemp(); ret &= test_mkstemp(); ret &= test_pread(); ret &= test_pwrite(); ret &= test_getpass(); ret &= test_inet_ntoa(); ret &= test_strtoll(); ret &= test_strtoull(); ret &= test_va_copy(); ret &= test_FUNCTION(); ret &= test_MIN(); ret &= test_MAX(); ret &= test_socketpair(); ret &= test_strptime(); ret &= test_getifaddrs(); ret &= test_utime(); ret &= test_utimes(); ret &= test_memmem(); return ret; }
/*! * Initialize environment and token for testing. */ static bool token_init(void) { token_path = test_mkdtemp(); if (!token_path) { return false; } // generate configuration file for unit test char config[4096] = { 0 }; int r = snprintf(config, sizeof(config), "%s/%s", token_path, SOFTHSM_CONF); if (r <= 0 || r >= sizeof(config)) { return false; } FILE *file = fopen(config, "w"); if (!file) { return false; } fprintf(file, "directories.tokendir = %s\n", token_path); fprintf(file, "objectstore.backend = file\n"); fprintf(file, "log.debug = INFO\n"); fclose(file); // update environment to use the config if (setenv(SOFTHSM_CONF_ENV, config, 1) != 0) { return false; } // initialize token char *util = libsofthsm_util(); if (!util) { return false; } bool inited = token_init_exec(util); free(util); return inited; }