r1678: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 27 Mar 2002 09:21:46 +0000 (09:21 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 27 Mar 2002 09:21:46 +0000 (09:21 +0000)
test-suite/xptest-clsql.cl

index fc80d19277ddd9c2345ff2612937aa6cd5a72d54..eddd681dd5f78f64046da592979d6f17b92c33f2 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Mar 2002
 ;;;;
-;;;; $Id: xptest-clsql.cl,v 1.2 2002/03/27 09:11:30 kevin Exp $
+;;;; $Id: xptest-clsql.cl,v 1.3 2002/03/27 09:21:46 kevin Exp $
 ;;;;
 ;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
        (unwind-protect
             (progn
               (create-test-table db)
-              (pprint (query "select * from test_clsql" 
-                                   :database db
-                                   :types :auto))
-              (pprint (map-query 'vector #'list "select * from test_clsql" 
-                                       :database db
-                                       :types :auto))  
+              (query "select * from test_clsql" 
+                     :database db
+                     :types :auto)
+              (map-query 'vector #'list "select * from test_clsql" 
+                         :database db
+                         :types :auto)
               (drop-test-table db)
               )
          (disconnect :database db))))))
 
+(defmethod mysql-low-level ((test clsql-fixture))
+  (let ((spec (mysql-spec test)))
+    (when spec
+      (let ((db (clsql-mysql::database-connect spec :mysql)))
+       (clsql-mysql::database-execute-command "DROP TABLE IF EXISTS test_clsql" db)
+       (clsql-mysql::database-execute-command 
+        "CREATE TABLE test_clsql (i integer, sqrt double, sqrt_str CHAR(20))" db)
+       (dotimes (i 10)
+         (clsql-mysql::database-execute-command
+          (format nil "INSERT INTO test_clsql VALUES (~d,~d,'~a')"
+                  i (sqrt i) (format nil "~d" (sqrt i)))
+          db))
+       (let ((res (clsql-mysql::database-query-result-set "select * from test_clsql" db :full-set t :types nil)))
+         (unless (= 10 (mysql:mysql-num-rows (clsql-mysql::mysql-result-set-res-ptr res)))
+           (failure "Error calling mysql-num-rows"))
+         (clsql-mysql::database-dump-result-set res db))
+       (clsql-mysql::database-execute-command "DROP TABLE test_clsql" db)
+       (clsql-mysql::database-disconnect db)))))
+
 (defparameter clsql-test-suite 
     (make-test-suite
      "CLSQL Test Suite"
      "Basic test suite for database operations."
+     ("MySQL Low Level Interface Test" 'clsql-fixture
+                  :test-thunk 'mysql-low-level
+                  :description "A test of MySQL low-level interface")
      ("MySQL Test" 'clsql-fixture
                   :test-thunk 'mysql-test
                   :description "A test of MySQL")))
 
-(report-result (run-test clsql-test-suite) :verbose t)
-
 
 ;;;; Testing functions
 
 
 (defun drop-test-table (db)
   (clsql:execute-command "DROP TABLE test_clsql"))
+
+(report-result (run-test clsql-test-suite) :verbose t)
+
+