From 6debc49e2c493674f2f35e6661c8035bf429b449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 7 Feb 2011 22:12:10 +0100 Subject: [PATCH] Add tests for `memq' and `memv'. This is a follow-up to a75ea6589642270adf933b85a15d96a74ff59225 ("fix memq/memv inlining"). * test-suite/tests/list.test ("memq", "memv"): New test prefixes. --- test-suite/tests/list.test | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/test-suite/tests/list.test b/test-suite/tests/list.test index d7b7801c9..dc06f0795 100644 --- a/test-suite/tests/list.test +++ b/test-suite/tests/list.test @@ -1,5 +1,5 @@ ;;;; list.test --- tests guile's lists -*- scheme -*- -;;;; Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc. +;;;; Copyright (C) 2000, 2001, 2006, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -658,9 +658,26 @@ ;;; memq +(with-test-prefix/c&e "memq" + + (pass-if "inline" + ;; In this case `memq' is inlined and the loop is unrolled. + (equal? '(b c d) (memq 'b '(a b c d)))) + + (pass-if "non inline" + ;; In this case a real function call is generated. + (equal? '(b c d) (memq 'b (list 'a 'b 'c 'd))))) ;;; memv +(with-test-prefix/c&e "memv" + (pass-if "inline" + ;; In this case `memv' is inlined and the loop is unrolled. + (equal? '(b c d) (memv 'b '(a b c d)))) + + (pass-if "non inline" + ;; In this case a real function call is generated. + (equal? '(b c d) (memv 'b (list 'a 'b 'c 'd))))) ;;; member