Ignore:
Timestamp:
Sep 24, 2007, 4:27:14 AM (18 years ago)
Author:
bird
Message:

New feature: if1of and ifn1of (CONFIG_WITH_SET_CONDITIONALS).

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/testcase-if1of.kmk

    r1100 r1109  
    11# $Id: $
    22## @file
     3# kBuild - testcase for the if1of and ifn1of conditionals.
    34#
    4 # kBuild - testcase for the functions.
     5
    56#
    6 # Copyright (c) 2006-2007 knut st. osmundsen <bird-kBuild-spam@anduin.net>
     7# Copyright (c) 2007 knut st. osmundsen <bird-src-spam@anduin.net>
    78#
     9# This file is part of kBuild.
    810#
    9 # This file is part of kLdr.
    10 #
    11 # kLdr is free software; you can redistribute it and/or modify
     11# kBuild is free software; you can redistribute it and/or modify
    1212# it under the terms of the GNU General Public License as published by
    1313# the Free Software Foundation; either version 2 of the License, or
    1414# (at your option) any later version.
    1515#
    16 # kLdr is distributed in the hope that it will be useful,
     16# kBuild is distributed in the hope that it will be useful,
    1717# but WITHOUT ANY WARRANTY; without even the implied warranty of
    1818# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     
    2020#
    2121# You should have received a copy of the GNU General Public License
    22 # along with kLdr; if not, write to the Free Software
    23 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     22# along with kBuild; if not, write to the Free Software
     23# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    2424#
    2525#
     
    2828include $(PATH_KBUILD)/header.kmk
    2929
    30 ifneq ($(not 1),)
    31  $(error The 'not' function is missing)
     30# the basics.
     31if1of (asdf,asdf)
     32else
     33 $(error busted)
    3234endif
    33 ifneq ($(eq 1,1),1)
    34  $(error The 'eq' function is missing)
     35ifn1of (asdf,asdf)
     36 $(error busted)
    3537endif
    3638
    37 ASSERT1 = $(if $(not $(eq $(STACK1),$(1))),$(error failure: STACK1:='$(STACK1)' expected='$(1)'))
    38 $(call stack-push,STACK1,1)
    39 $(call ASSERT,1)
    40 $(call stack-push,STACK1,2)
    41 $(call ASSERT,1 2)
    42 $(call stack-push,STACK1,3)
    43 $(call ASSERT,1 2 3)
    44 $(call stack-push,STACK1,4)
    45 $(call ASSERT,1 2 3 4)
    46 $(call stack-push,STACK1,5)
    47 $(call ASSERT,1 2 3 4 5)
    48 $(call stack-popv,STACK1)
    49 $(call ASSERT,1 2 3 4)
    50 $(call stack-push,STACK1,5)
    51 $(call ASSERT,1 2 3 4 5)
    52 $(call stack-popv,STACK1)
    53 $(call ASSERT,1 2 3 4)
    54 $(call stack-popv,STACK1)
    55 $(call ASSERT,1 2 3)
    56 $(call stack-push,STACK1,4)
    57 $(call ASSERT,1 2 3 4)
    58 $(call stack-push,STACK1,5)
    59 $(call ASSERT,1 2 3 4 5)
    60 top := $(call stack-top,STACK1)
    61 $(if $(not $(eq $(top),5)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='5'))
    62 $(call ASSERT,1 2 3 4 5)
    63 top := $(call stack-pop,STACK1)
    64 $(if $(not $(eq $(top),5)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='5'))
    65 $(call ASSERT,1 2 3 4)
    66 top := $(call stack-pop,STACK1)
    67 $(if $(not $(eq $(top),4)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='4'))
    68 $(call ASSERT,1 2 3)
    69 top := $(call stack-pop,STACK1)
    70 $(if $(not $(eq $(top),3)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='3'))
    71 $(call ASSERT,1 2)
    72 top := $(call stack-pop,STACK1)
    73 $(if $(not $(eq $(top),2)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='2'))
    74 $(call ASSERT,1)
    75 top := $(call stack-top,STACK1)
    76 $(if $(not $(eq $(top),1)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='1'))
    77 $(call ASSERT,1)
    78 top := $(call stack-pop,STACK1)
    79 $(if $(not $(eq $(top),1)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected='1'))
    80 $(call ASSERT,)
    81 top := $(call stack-pop,STACK1)
    82 $(if $(not $(eq $(top),)),$(error failure STACK1:='$(STACK1)' top:='$(top)' expected=''))
    83 $(call ASSERT,)
     39# larger sets.
     40if1of (1,2 3 4 5 6 7 8 9 0)
     41 $(error busted)
     42endif
     43if1of (1,12 3 4 5 6 7 8 9 0)
     44 $(error busted)
     45endif
     46if1of (1,2 31 4 5 6 7 8 9 0)
     47 $(error busted)
     48endif
     49ifn1of (1,1 2 3 4 5 6 7 8 9 0)
     50 $(error busted)
     51endif
     52ifn1of (8,1 2 3 4 5 6 7 8 9 0)
     53 $(error busted)
     54endif
     55ifn1of (asdf,asdf)
     56 $(error busted)
     57endif
     58ifn1of (asdf,asdf asdf)
     59 $(error busted)
     60endif
     61
     62# any in set 1 match any in set 2.
     63if1of (1 3 5 7 9, 2 4 6 8)
     64 $(error busted)
     65endif
     66ifn1of (1 2 3 4 5, 2 4 6 8)
     67 $(error busted)
     68endif
     69
     70# real life.
     71ifn1of (win linux, linux)
     72 $(error busted)
     73endif
     74ifn1of (win.x86, win.amd64 linux.x86 darwin.x86 win.x86 os2.x86)
     75 $(error busted)
     76endif
     77
    8478
    8579all_recursive:
    86         $(ECHO) The stack works.$(STACK1)
     80        $(ECHO) "if1of and ifn1of works fine"
Note: See TracChangeset for help on using the changeset viewer.