emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]