1; 2; Test code for all basic alsa lisp commands. 3; The test is indended to find memory leaks. 4; 5; Copyright (c) 2003 Jaroslav Kysela <perex@perex.cz> 6; License: GPL v2 (http://www.gnu.org/licenses/gpl.html) 7; 8 9; 10; Basic commands 11; 12 13(!=) (&check-memory) 14(!= 0) (&check-memory) 15(!= 0 1) (&check-memory) 16(!= 1 1) (&check-memory) 17(!= 0 1 2) (&check-memory) 18(!= 'aaaa 'bbbb) (&check-memory) 19 20(%) (&check-memory) 21(% 11) (&check-memory) 22(% 11 5) (&check-memory) 23(% 11.5 5.1) (&check-memory) 24(% 11.5 5.1 2.2) (&check-memory) 25(% 'aaaa 'bbbb) (&check-memory) 26 27(&check-memory) (&check-memory) 28(&check-memory "abcd") (&check-memory) 29(&dump-memory "-") (&check-memory) 30(&dump-memory) (&check-memory) 31(&dump-objects "-") (&check-memory) 32(&dump-objects) (&check-memory) 33(&stat-memory) (&check-memory) 34(&stat-memory "abcd") (&check-memory) 35 36(*) (&check-memory) 37(* 1) (&check-memory) 38(* 1 2) (&check-memory) 39(* 1.1 2.2) (&check-memory) 40(* 1.1 2.2 3.3) (&check-memory) 41(* 'aaaa) (&check-memory) 42 43(+) (&check-memory) 44(+ 1) (&check-memory) 45(+ 1 2) (&check-memory) 46(+ 1.1 2.2) (&check-memory) 47(+ 1.1 2.2 3.3) (&check-memory) 48(+ 'aaaa) (&check-memory) 49(+ 'aaaa 'bbbb) (&check-memory) 50(+ "aaaa") (&check-memory) 51(+ "aaaa" "bbbb") (&check-memory) 52(+ "aaaa" "bbbb" "cccc") (&check-memory) 53 54(-) (&check-memory) 55(- 1) (&check-memory) 56(- 1 2) (&check-memory) 57(- 1.1 2.2) (&check-memory) 58(- 1.1 2.2 3.3) (&check-memory) 59(- 'aaaa) (&check-memory) 60(- 'aaaa 'bbbb) (&check-memory) 61 62(/) (&check-memory) 63(/ 1) (&check-memory) 64(/ 1 2) (&check-memory) 65(/ 1.1 2.2) (&check-memory) 66(/ 1.1 2.2 3.3) (&check-memory) 67(/ 'aaaa) (&check-memory) 68(/ 'aaaa 'bbbb) (&check-memory) 69 70(<) (&check-memory) 71(< 0) (&check-memory) 72(< 0 1) (&check-memory) 73(< 1 0) (&check-memory) 74(< 0 1 2) (&check-memory) 75 76(<=) (&check-memory) 77(<= 0) (&check-memory) 78(<= 0 1) (&check-memory) 79(<= 1 0) (&check-memory) 80(<= 0 1 2) (&check-memory) 81 82(=) (&check-memory) 83(= 0) (&check-memory) 84(= 0 1) (&check-memory) 85(= 1 1) (&check-memory) 86(= 0 1 2) (&check-memory) 87 88(>) (&check-memory) 89(> 0) (&check-memory) 90(> 0 1) (&check-memory) 91(> 1 0) (&check-memory) 92(> 0 1 2) (&check-memory) 93 94(>= 0) (&check-memory) 95(>= 0 1) (&check-memory) 96(>= 1 0) (&check-memory) 97(>= 0 1 2) (&check-memory) 98 99(and) (&check-memory) 100(and 0) (&check-memory) 101(and 1) (&check-memory) 102(and 0 0 0) (&check-memory) 103 104(quote a) (&check-memory) 105 106(assoc) (&check-memory) 107(assoc 'one) (&check-memory) 108(assoc 'one '((one . first))) (&check-memory) 109(assoc 'one '((two . second))) (&check-memory) 110(assoc 'one '((one . first) (two . second))) (&check-memory) 111 112(assq) (&check-memory) 113(assq 'one) (&check-memory) 114(assq "one" '(("one" . "first"))) (&check-memory) 115(assq "one" '(("two" . "second"))) (&check-memory) 116(assq "one" '(("one" . "first") ("two" . "second"))) (&check-memory) 117 118(atom) (&check-memory) 119(atom 'one) (&check-memory) 120(atom "one") (&check-memory) 121(atom "one" 'two) (&check-memory) 122 123(funcall) (&check-memory) 124 125(car) (&check-memory) 126(car '(one . two)) (&check-memory) 127 128(cdr) (&check-memory) 129(cdr '(one . two)) (&check-memory) 130 131(concat) (&check-memory) 132(concat 'aaaa) (&check-memory) 133(concat 'aaaa 'bbbb) (&check-memory) 134(concat "aaaa") (&check-memory) 135(concat "aaaa" "bbbb") (&check-memory) 136(concat "aaaa" "bbbb" "cccc") (&check-memory) 137 138(cond) (&check-memory) 139(cond 0) (&check-memory) 140(cond 0 1) (&check-memory) 141(cond 0 1 2) (&check-memory) 142(cond 0 1 2 3) (&check-memory) 143(cond (0 'a) (1 'b) (0 'd)) (&check-memory) 144(cond 1) (&check-memory) 145(cond 1 1) (&check-memory) 146(cond 1 1 2) (&check-memory) 147(cond 1 1 2 3) (&check-memory) 148 149(cons) (&check-memory) 150(cons "a") (&check-memory) 151(cons "a" "b") (&check-memory) 152(cons "a" "b" "c") (&check-memory) 153 154(eq) (&check-memory) 155(eq 1) (&check-memory) 156(eq 0 0) (&check-memory) 157(eq "a" "b") (&check-memory) 158(eq "a" "b" "c") (&check-memory) 159 160(equal) (&check-memory) 161(equal 1) (&check-memory) 162(equal 0 0) (&check-memory) 163(equal "a" "b") (&check-memory) 164(equal "a" "b" "c") (&check-memory) 165 166(exfun) (&check-memory) 167(exfun 'abcd) (&check-memory) 168(exfun 'abcd 'ijkl) (&check-memory) 169 170(format) (&check-memory) 171(format 1) (&check-memory) 172(format 'a) (&check-memory) 173(format "a" "b" "c") (&check-memory) 174(format "1.2") (&check-memory) 175(format "%c" 43) (&check-memory) 176(format "%d" 12) (&check-memory) 177(format "%i" 12) (&check-memory) 178(format "%f" 12.1) (&check-memory) 179(format "%s" "abcd") (&check-memory) 180(format "%s %i %i" "abcd" 1 2) (&check-memory) 181 182(garbage-collect) (&check-memory) 183(gc) (&check-memory) 184 185(if) (&check-memory) 186(if t) (&check-memory) 187(if t 'a) (&check-memory) 188(if t 'a 'b) (&check-memory) 189(if nil) (&check-memory) 190(if nil 'a) (&check-memory) 191(if nil 'a 'b) (&check-memory) 192 193(include "itest.lisp") (&check-memory) 194 195(list) (&check-memory) 196(list "a") (&check-memory) 197(list "a" "b") (&check-memory) 198(list "a" "b" "c") (&check-memory) 199 200(not) (&check-memory) 201(not 0) (&check-memory) 202(not nil) (&check-memory) 203(not t) (&check-memory) 204(not 'a) (&check-memory) 205(not 'a 'b 'c 'd) (&check-memory) 206 207(nth) (&check-memory) 208(nth 2) (&check-memory) 209(nth 2 nil) (&check-memory) 210(nth 2 '(('one 'two 'three))) (&check-memory) 211 212(null) (&check-memory) 213(null 0) (&check-memory) 214(null nil) (&check-memory) 215(null t) (&check-memory) 216(null 'a) (&check-memory) 217(null 'a 'b 'c 'd) (&check-memory) 218 219(or) (&check-memory) 220(or 0) (&check-memory) 221(or 1) (&check-memory) 222(or 0 0 0) (&check-memory) 223 224(path) (&check-memory) 225(path 0) (&check-memory) 226(path 1) (&check-memory) 227(path 0 0 0) (&check-memory) 228(path "data") (&check-memory) 229 230(princ) (&check-memory) 231(princ "\nabcd\n") (&check-memory) 232(princ "a" "b" "c\n") (&check-memory) 233 234(prog1) (&check-memory) 235(prog1 1) (&check-memory) 236(prog1 1 2 3 4) (&check-memory) 237 238(prog2) (&check-memory) 239(prog2 1) (&check-memory) 240(prog2 1 2 3 4) (&check-memory) 241 242(progn) (&check-memory) 243(progn 1) (&check-memory) 244(progn 1 2 3 4) (&check-memory) 245 246(quote) (&check-memory) 247(quote a) (&check-memory) 248 249(rassoc) (&check-memory) 250(rassoc 'first) (&check-memory) 251(rassoc 'first '((one . first))) (&check-memory) 252(rassoc 'first '((two . second))) (&check-memory) 253(rassoc 'first '((one . first) (two . second))) (&check-memory) 254 255(rassq) (&check-memory) 256(rassq "first") (&check-memory) 257(rassq "first" '(("one" . "first"))) (&check-memory) 258(rassq "first" '(("two" . "second"))) (&check-memory) 259(rassq "first" '(("one" . "first") ("two" . "second"))) (&check-memory) 260 261(set) (&check-memory) 262(set "a") (unset "a") (&check-memory) 263(set "a" 1) (unset "a") (&check-memory) 264(set a 1) (unset a) (&check-memory) 265(set "a" 1 2) (unset "a") (&check-memory) 266 267(setf) (&check-memory) 268(setf a) (unsetf a) (&check-memory) 269(setf a 1) (unsetf a) (&check-memory) 270(setf a 1 2) (unsetf a) (&check-memory) 271 272(setq) (&check-memory) 273(setq a) (unsetq a) (&check-memory) 274(setq a 1) (unsetq a) (&check-memory) 275(setq a 1 2) (unsetq a) (&check-memory) 276 277(string-equal) (&check-memory) 278(string-equal 1) (&check-memory) 279(string-equal "a") (&check-memory) 280(string-equal "a" "a") (&check-memory) 281(string-equal "a" "b") (&check-memory) 282(string-equal "a" "b" "c") (&check-memory) 283 284(string-to-integer) (&check-memory) 285(string-to-integer 1) (&check-memory) 286(string-to-integer 1.5) (&check-memory) 287(string-to-integer "a") (&check-memory) 288(string-to-integer "a" "a") (&check-memory) 289(string-to-integer "a" "b") (&check-memory) 290(string-to-integer "a" "b" "c") (&check-memory) 291 292(string-to-float) (&check-memory) 293(string-to-float 1) (&check-memory) 294(string-to-float 1.5) (&check-memory) 295(string-to-float "a") (&check-memory) 296(string-to-float "a" "a") (&check-memory) 297(string-to-float "a" "b") (&check-memory) 298(string-to-float "a" "b" "c") (&check-memory) 299 300(string=) (&check-memory) 301(string= 1) (&check-memory) 302(string= "a") (&check-memory) 303(string= "a" "a") (&check-memory) 304(string= "a" "b") (&check-memory) 305(string= "a" "b" "c") (&check-memory) 306 307(unless) (&check-memory) 308(unless 1) (&check-memory) 309(unless 0 1 2) (&check-memory) 310(unless t 2 3 4) (&check-memory) 311(unless nil 2 3 4) (&check-memory) 312 313(unset) (&check-memory) 314(unset "a") (&check-memory) 315 316(unsetf) (&check-memory) 317(unsetf a) (&check-memory) 318(unsetf a b) (&check-memory) 319 320(unsetq) (&check-memory) 321(unsetq a) (&check-memory) 322(unsetq a b) (&check-memory) 323 324(when) (&check-memory) 325(when 0) (&check-memory) 326(when 0 1) (&check-memory) 327(when t 1) (&check-memory) 328(when nil 1) (&check-memory) 329 330(while) (&check-memory) 331(while nil) (&check-memory) 332(while nil 1) (&check-memory) 333(while nil 1 2 3 4) (&check-memory) 334 335; 336; more complex command sequences 337; 338 339(setq abcd "abcd") 340(unsetq abcd) 341(&check-memory) 342 343(setq abcd (("abcd" . "efgh") ("1234" . "5678"))) 344(unsetq abcd) 345(&check-memory) 346 347(defun myfun () (princ "a\n")) 348(exfun 'myfun) 349(unsetq myfun) 350(&check-memory) 351 352(defun myfun () (princ "a\n")) 353(funcall 'myfun) 354(funcall 'myfun 'aaaaa) 355(unsetq myfun) 356(&check-memory) 357 358(defun myfun (o) (princ o "a\n")) 359(funcall 'myfun) 360(funcall 'myfun 'aaaaa) 361(unsetq myfun) 362(&check-memory) 363 364(defun myfun (o p) (princ o p "\n")) 365(funcall 'myfun) 366(funcall 'myfun 'aaaaa) 367(funcall 'myfun 'aaaaa 'bbbbb) 368(unsetq myfun) 369(&check-memory) 370 371(defun printnum (from to) (while (<= from to) (princ " " from) (setq from (+ from 1)))) 372(princ "Numbers 1-10:") (printnum 1 10) (princ "\n") 373(unsetq printnum) 374 375; 376; game over 377; 378 379(princ "*********************\n") 380(princ "OK, all tests passed!\n") 381(princ "*********************\n") 382(&stat-memory) 383