mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	 d0facfde2b
			
		
	
	
		d0facfde2b
		
	
	
	
	
		
			
			- function names are more emacs-like - implemented (format) function - fixed numerous memory-leaks (valgrind is now happy) Ordinary mixer - added the global view (using hdsp names only)
		
			
				
	
	
		
			382 lines
		
	
	
	
		
			9.6 KiB
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
	
		
			9.6 KiB
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
| ;
 | |
| ; Test code for all basic alsa lisp commands.
 | |
| ; The test is indended to find memory leaks.
 | |
| ;
 | |
| ; Copyright (c) 2003 Jaroslav Kysela <perex@suse.cz>
 | |
| ; License: GPL v2 (http://www.gnu.org/licenses/gpl.html)
 | |
| ;
 | |
| 
 | |
| ;
 | |
| ; Basic commands
 | |
| ;
 | |
| 
 | |
| (!=)				(&check-memory)
 | |
| (!= 0)				(&check-memory)
 | |
| (!= 0 1)			(&check-memory)
 | |
| (!= 1 1)			(&check-memory)
 | |
| (!= 0 1 2)			(&check-memory)
 | |
| (!= 'aaaa 'bbbb)		(&check-memory)
 | |
| 
 | |
| (%)				(&check-memory)
 | |
| (% 11)				(&check-memory)
 | |
| (% 11 5)			(&check-memory)
 | |
| (% 11.5 5.1)			(&check-memory)
 | |
| (% 11.5 5.1 2.2)		(&check-memory)
 | |
| (% 'aaaa 'bbbb)			(&check-memory)
 | |
| 
 | |
| (&check-memory)			(&check-memory)
 | |
| (&check-memory "abcd")		(&check-memory)
 | |
| (&dump-memory "-")		(&check-memory)
 | |
| (&dump-memory)			(&check-memory)
 | |
| (&dump-objects "-")		(&check-memory)
 | |
| (&dump-objects)			(&check-memory)
 | |
| (&stat-memory)			(&check-memory)
 | |
| (&stat-memory "abcd")		(&check-memory)
 | |
| 
 | |
| (*)				(&check-memory)
 | |
| (* 1)				(&check-memory)
 | |
| (* 1 2)				(&check-memory)
 | |
| (* 1.1 2.2)			(&check-memory)
 | |
| (* 1.1 2.2 3.3)			(&check-memory)
 | |
| (* 'aaaa)			(&check-memory)
 | |
| 
 | |
| (+)				(&check-memory)
 | |
| (+ 1)				(&check-memory)
 | |
| (+ 1 2)				(&check-memory)
 | |
| (+ 1.1 2.2)			(&check-memory)
 | |
| (+ 1.1 2.2 3.3)			(&check-memory)
 | |
| (+ 'aaaa)			(&check-memory)
 | |
| (+ 'aaaa 'bbbb)			(&check-memory)
 | |
| (+ "aaaa")			(&check-memory)
 | |
| (+ "aaaa" "bbbb")		(&check-memory)
 | |
| (+ "aaaa" "bbbb" "cccc")	(&check-memory)
 | |
| 
 | |
| (-)				(&check-memory)
 | |
| (- 1)				(&check-memory)
 | |
| (- 1 2)				(&check-memory)
 | |
| (- 1.1 2.2)			(&check-memory)
 | |
| (- 1.1 2.2 3.3)			(&check-memory)
 | |
| (- 'aaaa)			(&check-memory)
 | |
| (- 'aaaa 'bbbb)			(&check-memory)
 | |
| 
 | |
| (/)				(&check-memory)
 | |
| (/ 1)				(&check-memory)
 | |
| (/ 1 2)				(&check-memory)
 | |
| (/ 1.1 2.2)			(&check-memory)
 | |
| (/ 1.1 2.2 3.3)			(&check-memory)
 | |
| (/ 'aaaa)			(&check-memory)
 | |
| (/ 'aaaa 'bbbb)			(&check-memory)
 | |
| 
 | |
| (<)				(&check-memory)
 | |
| (< 0)				(&check-memory)
 | |
| (< 0 1)				(&check-memory)
 | |
| (< 1 0)				(&check-memory)
 | |
| (< 0 1 2)			(&check-memory)
 | |
| 
 | |
| (<=)				(&check-memory)
 | |
| (<= 0)				(&check-memory)
 | |
| (<= 0 1)			(&check-memory)
 | |
| (<= 1 0)			(&check-memory)
 | |
| (<= 0 1 2)			(&check-memory)
 | |
| 
 | |
| (=)				(&check-memory)
 | |
| (= 0)				(&check-memory)
 | |
| (= 0 1)				(&check-memory)
 | |
| (= 1 1)				(&check-memory)
 | |
| (= 0 1 2)			(&check-memory)
 | |
| 
 | |
| (>)				(&check-memory)
 | |
| (> 0)				(&check-memory)
 | |
| (> 0 1)				(&check-memory)
 | |
| (> 1 0)				(&check-memory)
 | |
| (> 0 1 2)			(&check-memory)
 | |
| 
 | |
| (>= 0)				(&check-memory)
 | |
| (>= 0 1)			(&check-memory)
 | |
| (>= 1 0)			(&check-memory)
 | |
| (>= 0 1 2)			(&check-memory)
 | |
| 
 | |
| (and)				(&check-memory)
 | |
| (and 0)				(&check-memory)
 | |
| (and 1)				(&check-memory)
 | |
| (and 0 0 0)			(&check-memory)
 | |
| 
 | |
| (quote a)			(&check-memory)
 | |
| 
 | |
| (assoc)							(&check-memory)
 | |
| (assoc 'one)						(&check-memory)
 | |
| (assoc 'one '((one . first)))				(&check-memory)
 | |
| (assoc 'one '((two . second)))				(&check-memory)
 | |
| (assoc 'one '((one . first) (two . second)))		(&check-memory)
 | |
| 
 | |
| (assq)							(&check-memory)
 | |
| (assq 'one)						(&check-memory)
 | |
| (assq "one" '(("one" . "first")))			(&check-memory)
 | |
| (assq "one" '(("two" . "second")))			(&check-memory)
 | |
| (assq "one" '(("one" . "first") ("two" . "second")))	(&check-memory)
 | |
| 
 | |
| (atom)				(&check-memory)
 | |
| (atom 'one)			(&check-memory)
 | |
| (atom "one")			(&check-memory)
 | |
| (atom "one" 'two)		(&check-memory)
 | |
| 
 | |
| (funcall)			(&check-memory)
 | |
| 
 | |
| (car)				(&check-memory)
 | |
| (car '(one . two))		(&check-memory)
 | |
| 
 | |
| (cdr)				(&check-memory)
 | |
| (cdr '(one . two))		(&check-memory)
 | |
| 
 | |
| (concat)			(&check-memory)
 | |
| (concat 'aaaa)			(&check-memory)
 | |
| (concat 'aaaa 'bbbb)		(&check-memory)
 | |
| (concat "aaaa")			(&check-memory)
 | |
| (concat "aaaa" "bbbb")		(&check-memory)
 | |
| (concat "aaaa" "bbbb" "cccc")	(&check-memory)
 | |
| 
 | |
| (cond)				(&check-memory)
 | |
| (cond 0)			(&check-memory)
 | |
| (cond 0 1)			(&check-memory)
 | |
| (cond 0 1 2)			(&check-memory)
 | |
| (cond 0 1 2 3)			(&check-memory)
 | |
| (cond (0 'a) (1 'b) (0 'd))	(&check-memory)
 | |
| (cond 1)			(&check-memory)
 | |
| (cond 1 1)			(&check-memory)
 | |
| (cond 1 1 2)			(&check-memory)
 | |
| (cond 1 1 2 3)			(&check-memory)
 | |
| 
 | |
| (cons)				(&check-memory)
 | |
| (cons "a")			(&check-memory)
 | |
| (cons "a" "b")			(&check-memory)
 | |
| (cons "a" "b" "c")		(&check-memory)
 | |
| 
 | |
| (eq)				(&check-memory)
 | |
| (eq 1)				(&check-memory)
 | |
| (eq 0 0)			(&check-memory)
 | |
| (eq "a" "b")			(&check-memory)
 | |
| (eq "a" "b" "c")		(&check-memory)
 | |
| 
 | |
| (equal)				(&check-memory)
 | |
| (equal 1)			(&check-memory)
 | |
| (equal 0 0)			(&check-memory)
 | |
| (equal "a" "b")			(&check-memory)
 | |
| (equal "a" "b" "c")		(&check-memory)
 | |
| 
 | |
| (exfun)				(&check-memory)
 | |
| (exfun 'abcd)			(&check-memory)
 | |
| (exfun 'abcd 'ijkl)		(&check-memory)
 | |
| 
 | |
| (format)			(&check-memory)
 | |
| (format 1)			(&check-memory)
 | |
| (format 'a)			(&check-memory)
 | |
| (format "a" "b" "c")		(&check-memory)
 | |
| (format "1.2")			(&check-memory)
 | |
| (format "%c" 43)		(&check-memory)
 | |
| (format "%d" 12)		(&check-memory)
 | |
| (format "%i" 12)		(&check-memory)
 | |
| (format "%f" 12.1)		(&check-memory)
 | |
| (format "%s" "abcd")		(&check-memory)
 | |
| (format "%s %i %i" "abcd" 1 2)	(&check-memory)
 | |
| 
 | |
| (garbage-collect)		(&check-memory)
 | |
| (gc)				(&check-memory)
 | |
| 
 | |
| (if)				(&check-memory)
 | |
| (if t)				(&check-memory)
 | |
| (if t 'a)			(&check-memory)
 | |
| (if t 'a 'b)			(&check-memory)
 | |
| (if nil)			(&check-memory)
 | |
| (if nil 'a)			(&check-memory)
 | |
| (if nil 'a 'b)			(&check-memory)
 | |
| 
 | |
| (include "itest.lisp")		(&check-memory)
 | |
| 
 | |
| (list)				(&check-memory)
 | |
| (list "a")			(&check-memory)
 | |
| (list "a" "b")			(&check-memory)
 | |
| (list "a" "b" "c")		(&check-memory)
 | |
| 
 | |
| (not)				(&check-memory)
 | |
| (not 0)				(&check-memory)
 | |
| (not nil)			(&check-memory)
 | |
| (not t)				(&check-memory)
 | |
| (not 'a)			(&check-memory)
 | |
| (not 'a 'b 'c 'd)		(&check-memory)
 | |
| 
 | |
| (nth)				(&check-memory)
 | |
| (nth 2)				(&check-memory)
 | |
| (nth 2 nil)			(&check-memory)
 | |
| (nth 2 '(('one 'two 'three)))	(&check-memory)
 | |
| 
 | |
| (null)				(&check-memory)
 | |
| (null 0)			(&check-memory)
 | |
| (null nil)			(&check-memory)
 | |
| (null t)			(&check-memory)
 | |
| (null 'a)			(&check-memory)
 | |
| (null 'a 'b 'c 'd)		(&check-memory)
 | |
| 
 | |
| (or)				(&check-memory)
 | |
| (or 0)				(&check-memory)
 | |
| (or 1)				(&check-memory)
 | |
| (or 0 0 0)			(&check-memory)
 | |
| 
 | |
| (path)				(&check-memory)
 | |
| (path 0)			(&check-memory)
 | |
| (path 1)			(&check-memory)
 | |
| (path 0 0 0)			(&check-memory)
 | |
| (path "data")			(&check-memory)
 | |
| 
 | |
| (princ)				(&check-memory)
 | |
| (princ "\nabcd\n")		(&check-memory)
 | |
| (princ "a" "b" "c\n")		(&check-memory)
 | |
| 
 | |
| (prog1)				(&check-memory)
 | |
| (prog1 1)			(&check-memory)
 | |
| (prog1 1 2 3 4)			(&check-memory)
 | |
| 
 | |
| (prog2)				(&check-memory)
 | |
| (prog2 1)			(&check-memory)
 | |
| (prog2 1 2 3 4)			(&check-memory)
 | |
| 
 | |
| (progn)				(&check-memory)
 | |
| (progn 1)			(&check-memory)
 | |
| (progn 1 2 3 4)			(&check-memory)
 | |
| 
 | |
| (quote)				(&check-memory)
 | |
| (quote a)			(&check-memory)
 | |
| 
 | |
| (rassoc)						(&check-memory)
 | |
| (rassoc 'first)						(&check-memory)
 | |
| (rassoc 'first '((one . first)))			(&check-memory)
 | |
| (rassoc 'first '((two . second)))			(&check-memory)
 | |
| (rassoc 'first '((one . first) (two . second)))		(&check-memory)
 | |
| 
 | |
| (rassq)							(&check-memory)
 | |
| (rassq "first")						(&check-memory)
 | |
| (rassq "first" '(("one" . "first")))			(&check-memory)
 | |
| (rassq "first" '(("two" . "second")))			(&check-memory)
 | |
| (rassq "first" '(("one" . "first") ("two" . "second")))	(&check-memory)
 | |
| 
 | |
| (set)				(&check-memory)
 | |
| (set "a") (unset "a")		(&check-memory)
 | |
| (set "a" 1) (unset "a")		(&check-memory)
 | |
| (set a 1) (unset a)		(&check-memory)
 | |
| (set "a" 1 2) (unset "a")	(&check-memory)
 | |
| 
 | |
| (setf)				(&check-memory)
 | |
| (setf a) (unsetf a)		(&check-memory)
 | |
| (setf a 1) (unsetf a)		(&check-memory)
 | |
| (setf a 1 2) (unsetf a)		(&check-memory)
 | |
| 
 | |
| (setq)				(&check-memory)
 | |
| (setq a) (unsetq a)		(&check-memory)
 | |
| (setq a 1) (unsetq a)		(&check-memory)
 | |
| (setq a 1 2) (unsetq a)		(&check-memory)
 | |
| 
 | |
| (string-equal)			(&check-memory)
 | |
| (string-equal 1)		(&check-memory)
 | |
| (string-equal "a")		(&check-memory)
 | |
| (string-equal "a" "a")		(&check-memory)
 | |
| (string-equal "a" "b")		(&check-memory)
 | |
| (string-equal "a" "b" "c")	(&check-memory)
 | |
| 
 | |
| (string-to-integer)		(&check-memory)
 | |
| (string-to-integer 1)		(&check-memory)
 | |
| (string-to-integer 1.5)		(&check-memory)
 | |
| (string-to-integer "a")		(&check-memory)
 | |
| (string-to-integer "a" "a")	(&check-memory)
 | |
| (string-to-integer "a" "b")	(&check-memory)
 | |
| (string-to-integer "a" "b" "c")	(&check-memory)
 | |
| 
 | |
| (string-to-float)		(&check-memory)
 | |
| (string-to-float 1)		(&check-memory)
 | |
| (string-to-float 1.5)		(&check-memory)
 | |
| (string-to-float "a")		(&check-memory)
 | |
| (string-to-float "a" "a")	(&check-memory)
 | |
| (string-to-float "a" "b")	(&check-memory)
 | |
| (string-to-float "a" "b" "c")	(&check-memory)
 | |
| 
 | |
| (string=)			(&check-memory)
 | |
| (string= 1)			(&check-memory)
 | |
| (string= "a")			(&check-memory)
 | |
| (string= "a" "a")		(&check-memory)
 | |
| (string= "a" "b")		(&check-memory)
 | |
| (string= "a" "b" "c")		(&check-memory)
 | |
| 
 | |
| (unless)			(&check-memory)
 | |
| (unless 1)			(&check-memory)
 | |
| (unless 0 1 2)			(&check-memory)
 | |
| (unless t 2 3 4)		(&check-memory)
 | |
| (unless nil 2 3 4)		(&check-memory)
 | |
| 
 | |
| (unset)				(&check-memory)
 | |
| (unset "a")			(&check-memory)
 | |
| 
 | |
| (unsetf)			(&check-memory)
 | |
| (unsetf a)			(&check-memory)
 | |
| (unsetf a b)			(&check-memory)
 | |
| 
 | |
| (unsetq)			(&check-memory)
 | |
| (unsetq a)			(&check-memory)
 | |
| (unsetq a b)			(&check-memory)
 | |
| 
 | |
| (when)				(&check-memory)
 | |
| (when 0)			(&check-memory)
 | |
| (when 0 1)			(&check-memory)
 | |
| (when t 1)			(&check-memory)
 | |
| (when nil 1)			(&check-memory)
 | |
| 
 | |
| (while)				(&check-memory)
 | |
| (while nil)			(&check-memory)
 | |
| (while nil 1)			(&check-memory)
 | |
| (while nil 1 2 3 4)		(&check-memory)
 | |
| 
 | |
| ;
 | |
| ; more complex command sequences
 | |
| ;
 | |
| 
 | |
| (setq abcd "abcd")
 | |
| (unsetq abcd)
 | |
| (&check-memory)
 | |
| 
 | |
| (setq abcd (("abcd" . "efgh") ("1234" . "5678")))
 | |
| (unsetq abcd)
 | |
| (&check-memory)
 | |
| 
 | |
| (defun myfun () (princ "a\n"))
 | |
| (exfun 'myfun)
 | |
| (unsetq myfun)
 | |
| (&check-memory)
 | |
| 
 | |
| (defun myfun () (princ "a\n"))
 | |
| (funcall 'myfun)
 | |
| (funcall 'myfun 'aaaaa)
 | |
| (unsetq myfun)
 | |
| (&check-memory)
 | |
| 
 | |
| (defun myfun (o) (princ o "a\n"))
 | |
| (funcall 'myfun)
 | |
| (funcall 'myfun 'aaaaa)
 | |
| (unsetq myfun)
 | |
| (&check-memory)
 | |
| 
 | |
| (defun myfun (o p) (princ o p "\n"))
 | |
| (funcall 'myfun)
 | |
| (funcall 'myfun 'aaaaa)
 | |
| (funcall 'myfun 'aaaaa 'bbbbb)
 | |
| (unsetq myfun)
 | |
| (&check-memory)
 | |
| 
 | |
| (defun printnum (from to) (while (<= from to) (princ " " from) (setq from (+ from 1))))
 | |
| (princ "Numbers 1-10:") (printnum 1 10) (princ "\n")
 | |
| (unsetq printnum)
 | |
| 
 | |
| ;
 | |
| ; game over
 | |
| ;
 | |
| 
 | |
| (princ "*********************\n")
 | |
| (princ "OK, all tests passed!\n")
 | |
| (princ "*********************\n")
 | |
| (&stat-memory)
 |