[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/sqlite3 d03bda0360 47/62: replaced == with eq in type pred
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/sqlite3 d03bda0360 47/62: replaced == with eq in type predicates |
Date: |
Tue, 14 Mar 2023 11:01:48 -0400 (EDT) |
branch: elpa/sqlite3
commit d03bda03605eac94dd295baf20695c13ffb7a2e2
Author: Uphill Battler <code@uphill.me>
Commit: Uphill Battler <code@uphill.me>
replaced == with eq in type predicates
---
sqlite3-api.c | 6 +-
tests/regression.el | 217 +++++++++++++++++++++++++++-------------------------
tools/test.sh | 6 ++
3 files changed, 122 insertions(+), 107 deletions(-)
diff --git a/sqlite3-api.c b/sqlite3-api.c
index b8928e52e7..2dfc5714c2 100644
--- a/sqlite3-api.c
+++ b/sqlite3-api.c
@@ -28,11 +28,11 @@ int plugin_is_GPL_compatible;
}
#define SYM(env, sym) (env)->intern((env), sym)
#define IS_INTEGER(env, val) \
- (env)->type_of((env), (val)) == (env)->intern((env), "integer")
+ (env)->eq((env), (env)->type_of((env), (val)), (env)->intern((env),
"integer"))
#define IS_FLOAT(env, val) \
- (env)->type_of((env), (val)) == (env)->intern((env), "float")
+ (env)->eq((env), (env)->type_of((env), (val)), (env)->intern((env), "float"))
#define IS_STRING(env, val) \
- (env)->type_of((env), (val)) == (env)->intern((env), "string")
+ (env)->eq((env), (env)->type_of((env), (val)), (env)->intern((env),
"string"))
#define WARN(env, ...) message(env, SQLITE3_LOG_LEVEL_WARN, __VA_ARGS__)
#define DEBUG(env, ...) message(env, SQLITE3_LOG_LEVEL_DEBUG, __VA_ARGS__)
diff --git a/tests/regression.el b/tests/regression.el
index ce85a20b0b..b54b140c72 100644
--- a/tests/regression.el
+++ b/tests/regression.el
@@ -15,94 +15,89 @@
;;
(require 'sqlite3-api)
-(require 'cl)
-
+(require 'cl-lib)
(ert-deftest sqlite3-test-create-db ()
- (let* ((db-file (make-temp-file "sqlite3"))
- (dbh (sqlite3-open
- db-file
- (logior sqlite-open-create
- sqlite-open-readwrite)))
- (stmt))
- (message "Tests:create-db")
+ (let ((db-file (make-temp-file "sqlite3"))
+ dbh
+ stmt)
+ (message "Test:create-db")
(unwind-protect
- (progn
- (should (= sqlite-ok (sqlite3-exec dbh "create table temp ( id
integer primary key autoincrement )")))
- (should (= sqlite-ok (sqlite3-exec dbh "insert into temp values
(NULL)")))
- (setq stmt (sqlite3-prepare dbh "select count(*) from temp"))
- (should (= sqlite-row (sqlite3-step stmt)))
- (should (= 1 (sqlite3-column-count stmt)))
- (should (= 1 (sqlite3-column-int64 stmt 0))))
+ (progn
+ (setq dbh (sqlite3-open db-file
+ sqlite-open-create
+ sqlite-open-readwrite))
+ (should (= sqlite-ok
+ (sqlite3-exec dbh "create table temp ( id integer primary
key autoincrement )")))
+ (should (= sqlite-ok
+ (sqlite3-exec dbh "insert into temp values (NULL)")))
+ (setq stmt (sqlite3-prepare dbh "select count(*) from temp"))
+ (should (= sqlite-row (sqlite3-step stmt)))
+ (should (= 1 (sqlite3-column-count stmt)))
+ (should (= 1 (sqlite3-column-int64 stmt 0))))
(sqlite3-finalize stmt)
(sqlite3-close dbh)
(delete-file db-file))))
-
(ert-deftest sqlite3-test-memory-db ()
- (let* ((dbh (sqlite3-open
- ":memory:"
- (logior sqlite-open-create
- sqlite-open-readwrite)))
- (stmt))
+ (let* ((dbh (sqlite3-open ":memory:" sqlite-open-create
sqlite-open-readwrite))
+ stmt)
(message "Test:memory-db")
(unwind-protect
- (progn
- (should (= sqlite-ok (sqlite3-exec dbh "create table temp ( id
integer primary key autoincrement )")))
- (should (= sqlite-ok (sqlite3-exec dbh "insert into temp values
(NULL)")))
- (setq stmt (sqlite3-prepare dbh "select count(*) from temp"))
- (should (= sqlite-row (sqlite3-step stmt)))
- (should (= 1 (sqlite3-column-count stmt)))
- (should (= 1 (sqlite3-column-int64 stmt 0))))
+ (progn
+ (should (= sqlite-ok
+ (sqlite3-exec dbh "create table temp ( id integer primary
key autoincrement )")))
+ (should (= sqlite-ok
+ (sqlite3-exec dbh "insert into temp values (NULL)")))
+ (setq stmt (sqlite3-prepare dbh "select count(*) from temp"))
+ (should (= sqlite-row (sqlite3-step stmt)))
+ (should (= 1 (sqlite3-column-count stmt)))
+ (should (= 1 (sqlite3-column-int64 stmt 0))))
(sqlite3-finalize stmt)
(sqlite3-close dbh))))
(ert-deftest sqlite3-test-temp-db ()
- (let* ((dbh (sqlite3-open
- ""
- (logior sqlite-open-create
- sqlite-open-readwrite)))
- (stmt))
+ (let (dbh stmt)
(message "Test:temp-db")
(unwind-protect
- (progn
- (should (= sqlite-ok (sqlite3-exec dbh "create table test ( id
integer primary key autoincrement )")))
- (should (= sqlite-ok (sqlite3-exec dbh "insert into test values
(NULL)")))
- (setq stmt (sqlite3-prepare dbh "select count(*) from test"))
- (should (= sqlite-row (sqlite3-step stmt)))
- (should (= 1 (sqlite3-column-count stmt)))
- (should (= 1 (sqlite3-column-int64 stmt 0))))
+ (progn
+ (setq dbh (sqlite3-open "" sqlite-open-create sqlite-open-readwrite))
+ (should (= sqlite-ok
+ (sqlite3-exec dbh "create table test ( id integer primary
key autoincrement )")))
+ (should (= sqlite-ok
+ (sqlite3-exec dbh "insert into test values (NULL)")))
+ (setq stmt (sqlite3-prepare dbh "select count(*) from test"))
+ (should (= sqlite-row (sqlite3-step stmt)))
+ (should (= 1 (sqlite3-column-count stmt)))
+ (should (= 1 (sqlite3-column-int64 stmt 0))))
(sqlite3-finalize stmt)
(sqlite3-close dbh))))
(ert-deftest sqlite3-test-bulk-ops ()
- (let ((dbh)
- (stmt))
+ (let (dbh stmt)
(message "Test:bulk-ops")
(unwind-protect
- (progn
- (setq dbh (sqlite3-open "" (logior
- sqlite-open-readwrite
- sqlite-open-create)))
- (should (= sqlite-ok (sqlite3-exec dbh "create table test ( id
integer primary key autoincrement, rand integer not null )")))
- (should (setq stmt (sqlite3-prepare dbh "insert into test values (?,
?)")))
- (should (= 2 (sqlite3-bind-parameter-count stmt)))
- (sqlite3-exec dbh "begin")
- (cl-loop for i from 1 to 100000 do
- (should (= sqlite-ok (sqlite3-bind-null stmt 1)))
- (should (= sqlite-ok (sqlite3-bind-int64 stmt 2 (random))))
- (should (= sqlite-done (sqlite3-step stmt)))
- (should (= sqlite-ok (sqlite3-reset stmt))))
- (should (= 100000 (sqlite3-last-insert-rowid dbh)))
- (should (= sqlite-ok (sqlite3-exec dbh "update test set rand = 0")))
- (should (= 0 (sqlite3-get-autocommit dbh)))
- (should (= 100000 (sqlite3-changes dbh)))
- (should (= sqlite-ok (sqlite3-exec dbh "delete from test where id >
5000")))
- (should (= 95000 (sqlite3-changes dbh)))
- (sqlite3-exec dbh "commit"))
+ (progn
+ (setq dbh (sqlite3-open "" sqlite-open-readwrite sqlite-open-create))
+ (should (= sqlite-ok (sqlite3-exec dbh "create table test ( id
integer primary key autoincrement, rand integer not null )")))
+ (should (setq stmt (sqlite3-prepare dbh "insert into test values (?,
?)")))
+ (should (= 2 (sqlite3-bind-parameter-count stmt)))
+ (sqlite3-exec dbh "begin")
+ (cl-loop for i from 1 to 100000 do
+ (should (= sqlite-ok (sqlite3-bind-null stmt 1)))
+ (should (= sqlite-ok (sqlite3-bind-int64 stmt 2 (random))))
+ (should (= sqlite-done (sqlite3-step stmt)))
+ (should (= sqlite-ok (sqlite3-reset stmt))))
+ (should (= 100000 (sqlite3-last-insert-rowid dbh)))
+ (should (= sqlite-ok (sqlite3-exec dbh "update test set rand = 0")))
+ (should (= 0 (sqlite3-get-autocommit dbh)))
+ (should (= 100000 (sqlite3-changes dbh)))
+ (should (= sqlite-ok (sqlite3-exec dbh "delete from test where id >
5000")))
+ (should (= 95000 (sqlite3-changes dbh)))
+ (sqlite3-exec dbh "commit"))
(sqlite3-finalize stmt))
- (sqlite3-close dbh)))
+ (sqlite3-close dbh)))
(ert-deftest sqlite3-test-datatypes ()
(let ((dbh)
@@ -113,49 +108,63 @@
(utf8-str "一二三四五六七"))
(message "Test:datatypes")
(unwind-protect
- (progn
- (setq dbh (sqlite3-open "" (logior sqlite-open-readwrite
- sqlite-open-create)))
- (should (= sqlite-ok (sqlite3-exec dbh "create table temp (pos_int
integer, neg_int integer, pos_flt real, neg_flt real, big_str text, utf8_str
text, more_text text)")))
- (should (setq stmt (sqlite3-prepare dbh "insert into temp values
(?,?,?,?,?,?,?)")))
- (should (= sqlite-ok (sqlite3-bind-int64 stmt 1
most-positive-fixnum)))
- (should (= sqlite-ok (sqlite3-bind-int64 stmt 2
most-negative-fixnum)))
- (should (= sqlite-ok (sqlite3-bind-double stmt 3 most-pos-double)))
- (should (= sqlite-ok (sqlite3-bind-double stmt 4 most-neg-double)))
- (should (= sqlite-ok (sqlite3-bind-text stmt 5 big-str)))
- (should (= sqlite-ok (sqlite3-bind-text stmt 6 utf8-str)))
- (should (= sqlite-ok (sqlite3-bind-null stmt 7)))
- (should (= sqlite-done (sqlite3-step stmt)))
- (should (setq stmt (sqlite3-prepare dbh "select * from temp")))
- (should (= sqlite-row (sqlite3-step stmt)))
- (should (= most-positive-fixnum (sqlite3-column-int64 stmt 0)))
- (should (= most-negative-fixnum (sqlite3-column-int64 stmt 1)))
- (should (= most-pos-double (sqlite3-column-double stmt 2)))
- (should (= most-neg-double (sqlite3-column-double stmt 3)))
- (should (string= big-str (sqlite3-column-text stmt 4)))
- (should (string= utf8-str (sqlite3-column-text stmt 5)))
- (should (= sqlite-null (sqlite3-column-type stmt 6))))
+ (progn
+ (setq dbh (sqlite3-open "" sqlite-open-readwrite sqlite-open-create))
+ (should (= sqlite-ok (sqlite3-exec dbh "create table temp (pos_int
integer, neg_int integer, pos_flt real, neg_flt real, big_str text, utf8_str
text, more_text text)")))
+ (should (setq stmt (sqlite3-prepare dbh "insert into temp values
(?,?,?,?,?,?,?)")))
+ (should (= sqlite-ok (sqlite3-bind-int64 stmt 1
most-positive-fixnum)))
+ (should (= sqlite-ok (sqlite3-bind-int64 stmt 2
most-negative-fixnum)))
+ (should (= sqlite-ok (sqlite3-bind-double stmt 3 most-pos-double)))
+ (should (= sqlite-ok (sqlite3-bind-double stmt 4 most-neg-double)))
+ (should (= sqlite-ok (sqlite3-bind-text stmt 5 big-str)))
+ (should (= sqlite-ok (sqlite3-bind-text stmt 6 utf8-str)))
+ (should (= sqlite-ok (sqlite3-bind-null stmt 7)))
+ (should (= sqlite-done (sqlite3-step stmt)))
+ (sqlite3-finalize stmt)
+ (should (setq stmt (sqlite3-prepare dbh "select * from temp")))
+ (should (= sqlite-row (sqlite3-step stmt)))
+ (should (= most-positive-fixnum (sqlite3-column-int64 stmt 0)))
+ (should (= most-negative-fixnum (sqlite3-column-int64 stmt 1)))
+ (should (= most-pos-double (sqlite3-column-double stmt 2)))
+ (should (= most-neg-double (sqlite3-column-double stmt 3)))
+ (should (string= big-str (sqlite3-column-text stmt 4)))
+ (should (string= utf8-str (sqlite3-column-text stmt 5)))
+ (should (= sqlite-null (sqlite3-column-type stmt 6))))
+ (sqlite3-finalize stmt)
+ (sqlite3-close dbh))))
+
+(ert-deftest sqlite3-test-bind-multi ()
+ (let ((times 1000)
+ (count 1)
+ stmt dbh)
+ (message "Test:bind-multi")
+ (unwind-protect
+ (progn
+ (setq dbh (sqlite3-open ":memory:"
+ sqlite-open-readwrite
+ sqlite-open-create))
+ (sqlite3-exec dbh "create table temp (name text, age integer, iq
real, ting text)")
+ (setq stmt (sqlite3-prepare dbh "insert into temp values (?,?,?,?)"))
+ (cl-loop for i from 1 to times do
+ (should (= sqlite-ok
+ (sqlite3-bind-multi stmt (format "name%d" i) i
123.4567 nil)))
+ (sqlite3-step stmt)
+ (sqlite3-reset stmt))
+ (sqlite3-finalize stmt)
+
+ (setq stmt (sqlite3-prepare dbh "select * from temp"))
+ (while (= sqlite-row (sqlite3-step stmt))
+ (cl-destructuring-bind (name age iq thing) (sqlite3-fetch stmt)
+ (should (and (string= name (format "name%d" count))
+ (equal age count)
+ (equal iq 123.4567)
+ (null thing))))
+ (setq count (1+ count))))
(sqlite3-finalize stmt)
(sqlite3-close dbh))))
(sqlite3-set-log-level 3)
+(message "************************* Emacs %s *************************"
+ emacs-version)
(ert "^sqlite3-test")
(garbage-collect)
-
-
-;; update - bind
-;; delete - bind
-;; delete entire table
-
-;; transaction
-;; commit
-;; rollback
-
-;; drop table
-;; build index
-;; drop index
-;; add column
-
-;; select
-
-;; pragma
diff --git a/tools/test.sh b/tools/test.sh
new file mode 100755
index 0000000000..26a8a01ec3
--- /dev/null
+++ b/tools/test.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# run tests with different versions of Emacs
+make EMACS="/Applications/Emacs\ 25-3.app/Contents/MacOS/Emacs" test
+make EMACS="/Applications/Emacs\ 26-3.app/Contents/MacOS/Emacs" test
+make EMACS=/usr/local/bin/emacs test # 27.1
- [nongnu] elpa/sqlite3 33525c1976 29/62: Emacs 26.0-pretest test added, (continued)
- [nongnu] elpa/sqlite3 33525c1976 29/62: Emacs 26.0-pretest test added, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 00f4591f25 36/62: Fixed TOC, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 d2b2032977 51/62: Update README.org, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 b6868d2437 27/62: sqlite3-finalize accepts multiple params, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 a47384ef04 13/62: moved sqlite3-api-constants.el to tools/, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 b619a38eb5 25/62: fixed typos, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 781f915cd4 31/62: added sqlite3-fetch_alist, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 f702217d7b 32/62: Removed gcc warnings, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 e0943d0f90 39/62: Let users override make variables if necessary, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 e5b14b0318 46/62: Bump version to 0.14, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 d03bda0360 47/62: replaced == with eq in type predicates,
ELPA Syncer <=
- [nongnu] elpa/sqlite3 75d89d64e6 49/62: Typo?, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 1caff0e721 52/62: Merge branch 'master' of github.com:pekingduck/emacs-sqlite3-api, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 68eda59d5f 55/62: Bumped version to 0.16, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 91859c8766 56/62: Code cleanup, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 2f6095201b 57/62: Removed #if 0, added tests/Makefile, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 bcb3b0163b 58/62: Fix build with Cygwin and MSYS2, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 108521be02 59/62: Merge pull request #5 from yasuhirokimura/fix_build_with_cygwin_and_msys2, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 ad6dc366b7 60/62: Added contributors, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 50b814063b 62/62: Merge pull request #6 from emacsmirror/noninteractive, ELPA Syncer, 2023/03/14
- [nongnu] elpa/sqlite3 5218e49511 41/62: Merge pull request #2 from tarsiiformes/melpa, ELPA Syncer, 2023/03/14