VirtualBox

source: kBuild/trunk/src/kmk/tests/scripts/functions/for@ 2548

Last change on this file since 2548 was 2413, checked in by bird, 15 years ago

copyright year update.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1# $Id: for 2413 2010-09-11 17:43:04Z bird $ -*-perl-*-
2## @file
3# $(for init,condition,next,body)
4#
5
6#
7# Copyright (c) 2008-2010 knut st. osmundsen <[email protected]>
8#
9# This file is part of kBuild.
10#
11# kBuild is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 3 of the License, or
14# (at your option) any later version.
15#
16# kBuild is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with kBuild. If not, see <http://www.gnu.org/licenses/>
23#
24#
25
26$description = "Tests the $(for ) loop function";
27
28$details = "A few simple tests, nothing spectacular.";
29
30if ($is_kmk) {
31
32 # TEST #0 - check that the feature is present.
33 # --------------------------------------------
34 run_make_test('
35ifneq ($(for local i=0, $i <= 10, local i := $(expr $i + 1),$i),0 1 2 3 4 5 6 7 8 9 10)
36$(error sub-test 0 failed:$(for local i=0, $i <= 10, local i := $(expr $i + 1),$i))
37endif
38
39.PHONY: all
40all: ; @:
41',
42'',
43'');
44
45 # TEST #1 - the real test.
46 # ------------------------
47 run_make_test('
48ifneq ($(for local i=0, $i <= 10, local i := $(expr $i + 1),$i),0 1 2 3 4 5 6 7 8 9 10)
49$(error sub-test 0 failed)
50endif
51ifneq (.$(for local i=0, $i <= 3, local i := $(expr $i + 1), $i ).,. 0 1 2 3 .)
52$(error sub-test 1 failed)
53endif
54ifneq (.$(foreach i,0 1 2 3, $i ).,. 0 1 2 3 .)
55$(error sub-test 1b failed)
56endif
57
58.PHONY: all
59all: ; @:
60',
61'',
62'');
63}
64
65
66
67# Indicate that we're done.
681;
69
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette