;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Mar 2002
;;;;
-;;;; $Id: c-test-fns.cl,v 1.3 2002/03/31 23:05:07 kevin Exp $
+;;;; $Id: c-test-fns.cl,v 1.7 2002/04/03 00:31:32 kevin Exp $
;;;;
;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(in-package :cl-user)
(unless (uffi:load-foreign-library
- (make-pathname :name "c-test-fns"
- :type #+(or linux unix)"so"
- #+(or win32 mswindows) "dll"
- #+freebsd "a"
- :defaults *load-truename*)
+ (uffi:find-foreign-library "c-test-fns" *load-truename*)
:supporting-libraries '("c")
:force-load t)
(warn "Unable to load c-test-fns library"))
(half-double-vector +double-vec-length+ (system:vector-sap vec)))
vec))
-#+test-uffi
+#+examples-uffi
(format t "~&(string-to-upper \"this is a test\") => ~A"
(string-to-upper "this is a test"))
-#+test-uffi
+#+examples-uffi
(format t "~&(string-to-upper nil) => ~A"
(string-to-upper nil))
-#+test-uffi
+#+examples-uffi
(format t "~&(string-count-upper \"This is a Test\") => ~A"
(string-count-upper "This is a Test"))
-#+test-uffi
+#+examples-uffi
(format t "~&(string-count-upper nil) => ~A"
(string-count-upper nil))
-#+test-uffi
+#+examples-uffi
(format t "~&Half vector: ~S" (test-half-double-vector))
+
+
+#+test-uffi
+(progn
+ (util.test:test (string= (string-to-upper "this is a test") "THIS IS A TEST")
+ t
+ :test #'eql
+ :fail-info "Error with string-to-upper")
+ (util.test:test (string-to-upper nil) nil
+ :fail-info "string-to-upper with nil failed")
+ (util.test:test (string-count-upper "This is a Test")
+ 2
+ :test #'eql
+ :fail-info "Error with string-count-upper")
+ (util.test:test (string-count-upper nil) -1
+ :test #'eql
+ :fail-info "string-count-upper with nil failed")
+
+ (util.test:test (test-half-double-vector)
+ '(0.0d0 0.5d0 1.0d0 1.5d0 2.0d0 2.5d0 3.0d0 3.5d0 4.0d0 4.5d0)
+ :test #'equal
+ :fail-info "Error comparing half-double-vector")
+ )