test_open.mod 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. MODULE test_open ;
  2. (*
  3. m2SQLITE smoke test: open/close an in-memory database, including
  4. the open_v2 path with a NIL (default) VFS.
  5. *)
  6. FROM SYSTEM IMPORT ADDRESS;
  7. FROM SQLite IMPORT DbHandle,
  8. SQLiteOk, SQLiteOpenReadWrite, SQLiteOpenCreate,
  9. sqlite3_open, sqlite3_open_v2, sqlite3_close,
  10. sqlite3_errcode;
  11. FROM libc IMPORT printf;
  12. VAR db: DbHandle; rc: INTEGER;
  13. BEGIN
  14. db := NIL;
  15. rc := sqlite3_open(":memory:", db);
  16. printf("open rc=%d\n", rc);
  17. IF rc # SQLiteOk THEN
  18. printf("FAIL test_open: sqlite3_open rc=%d\n", rc);
  19. HALT(1)
  20. END;
  21. IF db = NIL THEN
  22. printf("FAIL test_open: NIL handle\n");
  23. HALT(1)
  24. END;
  25. rc := sqlite3_close(db);
  26. IF rc # SQLiteOk THEN
  27. printf("FAIL test_open: close rc=%d\n", rc);
  28. HALT(1)
  29. END;
  30. db := NIL;
  31. rc := sqlite3_open_v2(":memory:", db,
  32. SQLiteOpenReadWrite + SQLiteOpenCreate, NIL);
  33. printf("open_v2 rc=%d\n", rc);
  34. IF rc # SQLiteOk THEN
  35. printf("FAIL test_open: open_v2 rc=%d\n", rc);
  36. HALT(1)
  37. END;
  38. IF sqlite3_errcode(db) # SQLiteOk THEN
  39. printf("FAIL test_open: errcode after open\n");
  40. HALT(1)
  41. END;
  42. rc := sqlite3_close(db);
  43. IF rc # SQLiteOk THEN
  44. printf("FAIL test_open: close2 rc=%d\n", rc);
  45. HALT(1)
  46. END;
  47. printf("PASS test_open\n")
  48. END test_open.