VirtualBox

source: kBuild/trunk/src/kmk/tests/scripts/functions/pos@ 2152

Last change on this file since 2152 was 2152, checked in by bird, 16 years ago

kmk: testcases and lastpos fixes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.6 KB
Line 
1# $Id: pos 2152 2008-12-28 13:43:22Z bird $ -*-perl-*-
2## @file
3# $(pos needle, haystack[, start])
4#
5
6#
7# Copyright (c) 2008 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 $(pos ) 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 ($(pos b,abc),2)
36$(error sub-test 0 failed)
37endif
38.PHONY: all
39all: ; @:
40',
41'',
42'');
43
44 # TEST #1 - the real test.
45 # ------------------------
46 run_make_test('
47ifneq ($(pos t,abcdefghijklmnopqrstuvwxyz),20)
48$(error sub-test 0 failed)
49endif
50ifneq ($(pos tu,abcdefghijklmnopqrstuvwxyz),20)
51$(error sub-test 1 failed)
52endif
53ifneq ($(pos tuv,abcdefghijklmnopqrstuvwxyz),20)
54$(error sub-test 2 failed)
55endif
56ifneq ($(pos tuvw,abcdefghijklmnopqrstuvwxyz),20)
57$(error sub-test 3 failed)
58endif
59ifneq ($(pos tuvwx,abcdefghijklmnopqrstuvwxyz),20)
60$(error sub-test 4 failed)
61endif
62ifneq ($(pos tuvwxy,abcdefghijklmnopqrstuvwxyz),20)
63$(error sub-test 5 failed)
64endif
65ifneq ($(pos tuvwxyz,abcdefghijklmnopqrstuvwxyz),20)
66$(error sub-test 6 failed)
67endif
68ifneq ($(pos tuvwxyz!,abcdefghijklmnopqrstuvwxyz),0)
69$(error sub-test 7 failed)
70endif
71
72ifneq ($(pos a,ababababab),1)
73$(error sub-test 10 failed)
74endif
75ifneq ($(pos a,ababababab,2),3)
76$(error sub-test 11 failed)
77endif
78ifneq ($(pos a,ababababab,3),3)
79$(error sub-test 12 failed)
80endif
81ifneq ($(pos a,ababababab,8),9)
82$(error sub-test 13 failed)
83endif
84ifneq ($(pos a,ababababab,8),9)
85$(error sub-test 14 failed)
86endif
87ifneq ($(pos a,ababababab,9),9)
88$(error sub-test 15 failed)
89endif
90ifneq ($(pos a,ababababab,10),0)
91$(error sub-test 16 failed)
92endif
93ifneq ($(pos a,ababababab,-1),0)
94$(error sub-test 17 failed)
95endif
96ifneq ($(pos a,ababababab,-2),9)
97$(error sub-test 18 failed)
98endif
99ifneq ($(pos a,ababababab,-10),1)
100$(error sub-test 19 failed)
101endif
102ifneq ($(pos a,ababababab,-11),0)
103$(error sub-test 20 failed)
104endif
105
106
107.PHONY: all
108all: ; @:
109',
110'',
111'');
112}
113
114
115
116# Indicate that we're done.
1171;
118
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