VirtualBox

source: kBuild/trunk/src/kmk/tests/scripts/functions/lastpos@ 2243

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

*: Updated copyright to 2009 and normalized name & email.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1# $Id: lastpos 2243 2009-01-10 02:24:02Z bird $ -*-perl-*-
2## @file
3# $(lastpos needle, haystack[, start])
4#
5
6#
7# Copyright (c) 2008-2009 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 $(lastpos ) 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 ($(lastpos 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 ($(lastpos t,abcdefghijklmnopqrstuvwxyz),20)
48$(error sub-test 0 failed)
49endif
50ifneq ($(lastpos tu,abcdefghijklmnopqrstuvwxyz),20)
51$(error sub-test 1 failed)
52endif
53ifneq ($(lastpos tuv,abcdefghijklmnopqrstuvwxyz),20)
54$(error sub-test 2 failed)
55endif
56ifneq ($(lastpos tuvw,abcdefghijklmnopqrstuvwxyz),20)
57$(error sub-test 3 failed)
58endif
59ifneq ($(lastpos tuvwx,abcdefghijklmnopqrstuvwxyz),20)
60$(error sub-test 4 failed)
61endif
62ifneq ($(lastpos tuvwxy,abcdefghijklmnopqrstuvwxyz),20)
63$(error sub-test 5 failed)
64endif
65ifneq ($(lastpos tuvwxyz,abcdefghijklmnopqrstuvwxyz),20)
66$(error sub-test 6 failed)
67endif
68ifneq ($(lastpos tuvwxyz!,abcdefghijklmnopqrstuvwxyz),0)
69$(error sub-test 7 failed)
70endif
71
72ifneq ($(lastpos a,ababababab),9)
73$(error sub-test 10 failed)
74endif
75ifneq ($(lastpos a,ababababab,8),7)
76$(error sub-test 11 failed)
77endif
78ifneq ($(lastpos a,ababababab,7),7)
79$(error sub-test 12 failed)
80endif
81ifneq ($(lastpos a,ababababab,4),3)
82$(error sub-test 13 failed)
83endif
84ifneq ($(lastpos a,ababababab,3),3)
85$(error sub-test 14 failed)
86endif
87ifneq ($(lastpos a,ababababab,2),1)
88$(error sub-test 15 failed)
89endif
90ifneq ($(lastpos a,ababababab,1),1)
91$(error sub-test 16 failed)
92endif
93ifneq ($(lastpos a,ababababab,-1),9)
94$(error sub-test 17 failed)
95endif
96ifneq ($(lastpos a,ababababab,-2),9)
97$(error sub-test 18 failed)
98endif
99ifneq ($(lastpos a,ababababab,-10),1)
100$(error sub-test 19 failed)
101endif
102ifneq ($(lastpos 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