Coverage report: /home/ellis/.stash/quicklisp/dists/quicklisp/software/alexandria-20241012-git/alexandria-1/features.lisp

KindCoveredAll%
expression1922 86.4
branch56 83.3
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 (in-package :alexandria)
2
 
3
 (defun featurep (feature-expression)
4
   "Returns T if the argument matches the state of the *FEATURES*
5
 list and NIL if it does not. FEATURE-EXPRESSION can be any atom
6
 or list acceptable to the reader macros #+ and #-."
7
   (etypecase feature-expression
8
     (symbol (not (null (member feature-expression *features*))))
9
     (cons (check-type (first feature-expression) symbol)
10
           (eswitch ((first feature-expression) :test 'string=)
11
             (:and (every #'featurep (rest feature-expression)))
12
             (:or  (some #'featurep (rest feature-expression)))
13
             (:not (assert (= 2 (length feature-expression)))
14
                   (not (featurep (second feature-expression))))))))