#include <db_cxx.h> #include <errno.h> #include <assert.h> #include <stdlib.h> #include <sys/stat.h> #include <iostream> using namespace std; int cmp(DB *db, const DBT *dbt1, const DBT *dbt2) { return 0; } #define DIR "test1e.dir" void test_db(void) { system("rm -rf " DIR); mkdir(DIR, 0777); DbEnv env(0); { int r = env.set_redzone(0); assert(r==0); } { int r = env.set_default_bt_compare(cmp); assert(r == 0); } env.open(DIR, DB_CREATE|DB_PRIVATE, 0666); Db db(&env, 0); int r; try { r = db.remove("DoesNotExist.db", NULL, 0); abort(); // must not make it here. } catch (DbException e) { assert(e.get_errno() == ENOENT); } // The db is closed. env.close(0); } void test_db_env(void) { DbEnv dbenv(0); int r; r = dbenv.set_data_dir("."); assert(r == 0); try { r = dbenv.set_data_dir(NULL); abort(); } catch (DbException e) { assert(e.get_errno() == EINVAL); } dbenv.set_errpfx("Prefix"); dbenv.set_errfile(stdout); dbenv.err(0, "Hello %s!\n", "Name"); dbenv.close(0); } int main() { test_db(); test_db_env(); return 0; }