BUG#: 7943
[tpot/pegasus/.git] / Makefile.ReleaseTest
1 #//%2006////////////////////////////////////////////////////////////////////////
2 #//
3 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 #// IBM Corp.; EMC Corporation, The Open Group.
7 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 #// EMC Corporation; VERITAS Software Corporation; The Open Group.
11 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 #// EMC Corporation; Symantec Corporation; The Open Group.
13 #//
14 #// Permission is hereby granted, free of charge, to any person obtaining a copy
15 #// of this software and associated documentation files (the "Software"), to
16 #// deal in the Software without restriction, including without limitation the
17 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 #// sell copies of the Software, and to permit persons to whom the Software is
19 #// furnished to do so, subject to the following conditions:
20 #// 
21 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 #//
30 #//==============================================================================
31 ifndef ROOT 
32  ifdef PEGASUS_ROOT
33     ROOT =  $(subst \,/,$(PEGASUS_ROOT))
34  else
35     ROOT = .
36  endif
37 endif
38
39 include $(ROOT)/mak/config.mak
40 include $(ROOT)/mak/commands.mak
41
42 ifndef PEGASUS_STAGING_DIR
43    PEGASUS_STAGING_DIR = $(PEGASUS_HOME)/stagingDir
44 endif
45
46 ifndef PEGASUS_TEST_DIR
47    PEGASUS_TEST_DIR = /test
48 endif
49
50 ifndef PEGASUS_TEST_REPOSITORY_DIR
51 PEGASUS_TEST_REPOSITORY_DIR = $(PEGASUS_TEST_DIR)
52 endif
53
54 ifndef PEGASUS_TEST_REPOSITORY_NAME
55 PEGASUS_TEST_REPOSITORY_NAME = testrepository
56 endif
57
58 TEST_BIN_FILES_SRCPATH = $(PEGASUS_HOME)/bin
59 TEST_LIB_FILES_SRCPATH = $(PEGASUS_HOME)/lib
60 TEST_MAK_FILES_SRCPATH = $(ROOT)/mak
61
62 MAK_FILES = \
63    commands.mak
64
65 PRESTARTTEST_FILES = \
66    TestAbstract \
67    TestArray \
68    TestAsyncQueue \
69    TestBase64 \
70    TestClassDecl \
71    TestDateTime \
72    TestFlavor \
73    TestFormatter \
74    TestHashTable \
75    TestInstanceDecl \
76    TestList \
77    TestLogger \
78    TestMethod \
79    TestObject \
80    TestOperationContext \
81    TestParamValue \
82    TestParameter \
83    TestProperty \
84    TestQualifier \
85    TestQualifierDecl \
86    TestQualifierList \
87    TestReference \
88    TestResolve \
89    TestResponseHandler \
90    TestScope \
91    TestStack \
92    TestStopwatch \
93    TestStrToInstName \
94    TestString \
95    TestTimeValue \
96    TestToMof \
97    TestTracer \
98    TestValidateClass \
99    TestValue
100
101 PEGASUS_TEST_PROVIDERS = \
102    libSampleInstanceProvider \
103    libSampleMethodProvider \
104    libFamilyProvider \
105    libIndicationStressTestConsumer \
106    libIndicationStressTestProvider
107
108 ifdef PEGASUS_USE_NET_SNMP
109    PEGASUS_TEST_PROVIDERS += \
110       libIndicationTestProvider 
111 endif
112
113 POSTSTARTTEST_FILES = \
114    TestClient \
115    TestClientOSProvider \
116    TestPegClientInvokeMethod2 \
117    TestIndicationStressTest
118
119 ifdef PEGASUS_USE_NET_SNMP
120    POSTSTARTTEST_FILES += \
121       TestSnmpHandler
122 endif
123
124 POSTSTARTTEST_CMDS = \
125    $(PEGASUS_TEST_DIR)/bin/TestClient@@-local \
126    $(PEGASUS_TEST_DIR)/bin/TestClientOSProvider \
127    $(PEGASUS_TEST_DIR)/bin/TestPegClientInvokeMethod2 \
128    $(PEGASUS_TEST_DIR)/bin/TestIndicationStressTest@@IndicationStressTestClass@@test/TestProvider@@setup@@WQL \
129    $(PEGASUS_TEST_DIR)/bin/TestIndicationStressTest@@IndicationStressTestClass@@test/TestProvider@@run@@100@@1 \
130    $(PEGASUS_TEST_DIR)/bin/TestIndicationStressTest@@IndicationStressTestClass@@test/TestProvider@@cleanup
131
132 ifdef PEGASUS_USE_NET_SNMP
133    POSTSTARTTEST_CMDS += \
134    $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@setup@@WQL \
135    $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@run@@4@@2 \
136    $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@cleanup \
137    $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@removelog
138 endif
139
140 TESTSUITE_CMDS_1 = \
141    $(MAKE)@@poststarttests
142
143 TESTSUITE_CONFIG_2 = enableHttpConnection=false enableHttpsConnection=false
144 TESTSUITE_CMDS_2 = \
145    $(PEGASUS_TEST_DIR)/bin/TestClient@@-local
146
147 stageTEST:
148         @$(RMDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)
149         @$(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/bin
150         @$(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)
151         @$(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/mak
152         @$(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/tmp
153         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s stage_makfiles
154         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s stage_testproviderfiles
155         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s stage_testemptyfiles
156         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s stage_prestarttests
157         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s stage_poststarttests
158         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s create_Makefile
159         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s create_repository
160
161 stage_makfiles:
162         @$(foreach i, $(MAK_FILES), $(COPY) $(TEST_MAK_FILES_SRCPATH)/$(i) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/mak/$(i);)
163
164 stage_testproviderfiles:
165         @$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(COPY) $(TEST_LIB_FILES_SRCPATH)/$(i)$(LIB_SUFFIX) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)/$(i)$(LIB_SUFFIX);)
166
167 stage_prestarttests:
168         @$(foreach i, $(PRESTARTTEST_FILES), $(COPY) $(TEST_BIN_FILES_SRCPATH)/$(i) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/bin/$(i);)
169
170 stage_poststarttests:
171         @$(foreach i, $(POSTSTARTTEST_FILES), $(COPY) $(TEST_BIN_FILES_SRCPATH)/$(i) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/bin/$(i);)
172
173 stage_testemptyfiles:
174         $(TOUCH) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/tmp/procIdFile
175         $(TOUCH) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/tmp/trapLogFile
176         $(TOUCH) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/tmp/IndicationStressTestLog
177
178 create_Makefile:
179         @$(RM) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
180         @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
181         @$(ECHO-E) "# " >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
182         @$(ECHO-E) "# Makefile for testing an installed Linux release" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
183         @$(ECHO-E) "# " >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
184         @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
185         @$(ECHO-E) "OS = $(OS)\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
186         @$(ECHO-E) "ROOT = UNDEFINED\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
187         @$(ECHO-E) "CIMSERVER_PATH = $(PEGASUS_SBIN_DIR)/\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
188         @$(ECHO-E) "include mak/commands.mak\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
189         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_providerlinks
190         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_prestarttests
191         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_poststarttests
192         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_tests
193         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_testsWithSetupAndUnsetup
194         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_setupTEST
195         @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest createMakefile_unsetupTEST
196
197 createMakefile_providerlinks:
198         @$(ECHO-E) "create_providerlinks:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
199         @$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) "\t@$(MAKE) createlink OBJECT=$(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)/$(i)$(LIB_SUFFIX) LINKNAME=$(PEGASUS_PROVIDER_LIB_DIR)/$(i)$(LIB_LINK_SUFFIX)" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ;)
200         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
201         @$(ECHO-E) "remove_providerlinks:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
202         @$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) "\trm -f $(PEGASUS_PROVIDER_LIB_DIR)/$(i)$(LIB_LINK_SUFFIX)" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ;)
203         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
204
205 createMakefile_prestarttests:
206         @$(ECHO-E) "prestarttests:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
207         @$(ECHO-E) "\t@$(MAKE) -s prestarttests_internal\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
208         @$(ECHO-E) "prestarttests_internal:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
209         @$(foreach i, $(PRESTARTTEST_FILES), $(ECHO-E) "\t./bin/"$(i) >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile;)
210         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
211
212 createMakefile_poststarttests:
213         @$(ECHO-E) "poststarttests:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
214         @$(ECHO-E) "\t@$(MAKE) -s poststarttests_internal\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
215         @$(ECHO-E) "poststarttests_internal:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
216         @$(foreach i, $(POSTSTARTTEST_CMDS), $(ECHO-E) "\t$(subst @@, ,$(i))" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile;)
217         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
218
219 createMakefile_tests:
220         @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
221         @$(ECHO-E) "# The tests target stops the cimserver, runs the unit tests, starts the" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
222         @$(ECHO-E) "# cimserver, and runs the poststarttests and local TestClient." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
223         @$(ECHO-E) "# It is necessary to manually run make setupTEST before running make tests," >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
224         @$(ECHO-E) "# and to manually run make unsetupTEST afterward." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
225         @$(ECHO-E) "# The setupTEST target moves the repository directory to repository.bak, and" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
226         @$(ECHO-E) "# moves the test repository into the repository directory.  The cimserver is" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
227         @$(ECHO-E) "# started, and links are created to the provider libraries." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
228         @$(ECHO-E) "# Since it may not always be desired to move the repository, the make" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
229         @$(ECHO-E) "# setupTEST step is not done automatically as part of the tests target." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
230         @$(ECHO-E) "# The unsetupTEST target stops the cimserver, moves the repository to the test" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
231         @$(ECHO-E) "# repository directory, restores the original repository from repository.bak," >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
232         @$(ECHO-E) "# and removes the links to the provider libraries." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
233         @$(ECHO-E) "# Since in case of failure, it is desired to leave the system in its current" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
234         @$(ECHO-E) "# state to facilitate debugging of the failure, the make unsetupTEST step is" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
235         @$(ECHO-E) "# not done automatically as part of the tests target." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
236         @$(ECHO-E) "# Note that in case of failure, the original repository remains in" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
237         @$(ECHO-E) "# repository.bak." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
238         @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
239         @$(ECHO-E) "tests:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
240         @$(ECHO-E) "\t@$(MAKE) -i cimstop" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
241         @$(ECHO-E) "\t@$(MAKE) prestarttests" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
242         @$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_1)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_1)\"" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
243         @$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_2)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_2)\"" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
244         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
245
246 createMakefile_testsWithSetupAndUnsetup:
247         @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
248         @$(ECHO-E) "# The testsWithSetupAndUnsetup target stops the cimserver, runs the unit tests," >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
249         @$(ECHO-E) "# runs make setupTEST, runs the poststarttests and local TestClient, and runs" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
250         @$(ECHO-E) "# make unsetupTEST.  If poststarttests or local TestClient exits with a" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
251         @$(ECHO-E) "# non-zero status, make unsetupTEST is also run to restore the system to its" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
252         @$(ECHO-E) "# original state." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
253         @$(ECHO-E) "# It is not necessary to manually run make setupTEST before, nor to run make" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
254         @$(ECHO-E) "# unsetupTEST after, running make testsWithSetupAndUnsetup." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
255         @$(ECHO-E) "# The setupTEST target moves the repository directory to repository.bak, and" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
256         @$(ECHO-E) "# moves the test repository into the repository directory.  The cimserver is" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
257         @$(ECHO-E) "# started, and links are created to the provider libraries." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
258         @$(ECHO-E) "# The unsetupTEST target stops the cimserver, moves the repository to the test" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
259         @$(ECHO-E) "# repository directory, restores the original repository from repository.bak," >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
260         @$(ECHO-E) "# and removes the links to the provider libraries." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
261         @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
262         @$(ECHO-E) "testsWithSetupAndUnsetup:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
263         @$(ECHO-E) "\t@$(MAKE) -i cimstop" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
264         @$(ECHO-E) "\t@$(MAKE) prestarttests" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
265         @$(ECHO-E) "\t@$(MAKE) setupTEST" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
266         @$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_1)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_1)\" || { $(MAKE) unsetupTEST; exit 1; }" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
267         @$(ECHO-E) "\t@$(MAKE) runTestSuite CIMSERVER_CONFIG_OPTIONS=\"$(TESTSUITE_CONFIG_2)\" TESTSUITE_CMDS=\"$(TESTSUITE_CMDS_2)\" || { $(MAKE) unsetupTEST; exit 1; }" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
268         @$(ECHO-E) "\t@$(MAKE) unsetupTEST" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
269         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
270
271 createMakefile_setupTEST:
272         @$(ECHO-E) "setupTEST:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
273         @$(ECHO-E) "ifeq (\044(wildcard $(PEGASUS_REPOSITORY_PARENT_DIR)/repository.bak),)" \
274                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
275         @$(ECHO-E) "\t@$(MAKE) -i cimstop" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
276         @$(ECHO-E) "\t@mv $(PEGASUS_REPOSITORY_PARENT_DIR)/repository $(PEGASUS_REPOSITORY_PARENT_DIR)/repository.bak" \
277                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
278         @$(ECHO-E) "\t@mv $(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME) $(PEGASUS_REPOSITORY_PARENT_DIR)/repository" \
279                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
280         @$(ECHO-E) "\t@make cimstart" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
281         @$(ECHO-E) "\t@make create_providerlinks" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
282         @$(ECHO-E) "else" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
283         @$(ECHO-E) "\t@$(ECHO) \"Setup Aborted: $(PEGASUS_REPOSITORY_PARENT_DIR)/repository.bak already exists\"" \
284                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
285         @$(ECHO-E) "endif" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
286         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
287
288 createMakefile_unsetupTEST:
289         @$(ECHO-E) "unsetupTEST:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
290         @$(ECHO-E) "ifneq (\044(wildcard $(PEGASUS_REPOSITORY_PARENT_DIR)/repository/tog-pegasus-testrepository),)" \
291                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
292         @$(ECHO-E) "\t@$(MAKE) -i cimstop" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
293         @$(ECHO-E) "\t@mv $(PEGASUS_REPOSITORY_PARENT_DIR)/repository $(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)" \
294                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
295         @$(ECHO-E) "\t@mv $(PEGASUS_REPOSITORY_PARENT_DIR)/repository.bak $(PEGASUS_REPOSITORY_PARENT_DIR)/repository" \
296                    >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
297         @$(ECHO-E) "endif" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
298         @$(ECHO-E) "\t@make remove_providerlinks" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
299         @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile
300
301 create_repository:
302         $(RMDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)
303         $(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)
304         $(MKDIRHIER) $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)/tog-pegasus-testrepository
305         $(CHMOD) 777 $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)
306         $(MAKE) --directory=$(ROOT)/Schemas/Pegasus -f Makefile REPOSITORY_DIR=$(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR) \
307                    REPOSITORY_NAME=$(PEGASUS_TEST_REPOSITORY_NAME) repository
308         $(MAKE) --directory=$(ROOT)/src/Providers/sample/Load -f Makefile REPOSITORY_DIR=$(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR) \
309                    REPOSITORY_NAME=$(PEGASUS_TEST_REPOSITORY_NAME) repository
310         $(MAKE) --directory=$(ROOT)/test/wetest -f Makefile REPOSITORY_DIR=$(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR) \
311                    REPOSITORY_NAME=$(PEGASUS_TEST_REPOSITORY_NAME) repository
312         $(MAKE) --directory=$(ROOT)/src/Clients/benchmarkTest/Load -f Makefile \
313                    REPOSITORY_DIR=$(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR) REPOSITORY_NAME=$(PEGASUS_TEST_REPOSITORY_NAME) repository
314         $(MAKE) --directory=$(ROOT)/src/Providers/TestProviders/Load -f Makefile \
315                    REPOSITORY_DIR=$(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_REPOSITORY_DIR) REPOSITORY_NAME=$(PEGASUS_TEST_REPOSITORY_NAME) repository
316
317 preinstall:
318          @$(MAKE) --directory=$(ROOT) -f Makefile.ReleaseTest -s preinstall_setreleasepermissions
319
320 preinstall_setreleasepermissions:
321         @$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(MAKE) -f $(ROOT)/Makefile.ReleaseTest setpermissions PERMISSIONS="$(Prwxr_xr_x)" OWNER="$(INSTALL_USR)" GROUP="$(INSTALL_GRP)" OBJECT=$(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)/$(i)$(LIB_SUFFIX);)
322
323 _append_preunSectionToSpecFile:
324         @$(ECHO-E) "%if %{PEGASUS_BUILD_TEST_RPM}" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
325         @$(ECHO-E) "%preun test" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
326         @$(ECHO-E) "make --directory $(PEGASUS_TEST_DIR) -s unsetupTEST"  >> $(PEGASUS_RPM_SPEC_FILE_PATH)
327         @$(ECHO-E) "[ -d $(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME) ] && " \
328                        "rm -rf $(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME);" >> \
329                        $(PEGASUS_RPM_SPEC_FILE_PATH)
330         @$(ECHO-E) ""  >> $(PEGASUS_RPM_SPEC_FILE_PATH)
331         @$(ECHO-E) "%endif" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
332
333 _append_filesSectionToSpecFile:
334         @$(ECHO-E) "%if %{PEGASUS_BUILD_TEST_RPM}" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
335         @$(ECHO-E) "%files test"  >> $(PEGASUS_RPM_SPEC_FILE_PATH)
336         @$(ECHO-E) "%defattr(-,$(INSTALL_USR),$(INSTALL_GRP),-)" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
337         @$(ECHO-E) "$(PEGASUS_TEST_DIR)" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
338         @$(ECHO-E) "%ghost $(PEGASUS_TEST_DIR)/tmp/procIdFile" \
339             >> $(PEGASUS_RPM_SPEC_FILE_PATH)
340         @$(ECHO-E) "%ghost $(PEGASUS_TEST_DIR)/tmp/trapLogFile" \
341             >> $(PEGASUS_RPM_SPEC_FILE_PATH)
342         @$(ECHO-E) "%ghost $(PEGASUS_TEST_DIR)/tmp/IndicationStressTestLog" \
343             >> $(PEGASUS_RPM_SPEC_FILE_PATH)
344         @$(ECHO-E) "%defattr($(Prw_______),$(CIMSERVERMAIN_USR)," \
345             "$(CIMSERVERMAIN_GRP),$(Prwx______))" \
346             >> $(PEGASUS_RPM_SPEC_FILE_PATH)
347         @$(ECHO-E) "$(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)" \
348             >> $(PEGASUS_RPM_SPEC_FILE_PATH)
349         @$(ECHO-E) "%endif" >> $(PEGASUS_RPM_SPEC_FILE_PATH)
350
351 create_ProductInstallationVerificationScript:
352         @$(RM) $(PEGASUS_HOME)/PegasusVerifyTestInstall
353         @$(ECHO-E) "$(ECHO-E) \"\nPEGASUS TEST DIRECTORIES\"" \
354              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
355         @$(ECHO-E) "ls -ld $(PEGASUS_TEST_DIR)" \
356              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
357         @$(ECHO-E) "ls -ld $(PEGASUS_TEST_DIR)/bin" \
358              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
359         @$(ECHO-E) "ls -ld $(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)" \
360              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
361         @$(ECHO-E) "ls -ld $(PEGASUS_TEST_DIR)/mak" \
362              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
363         @$(ECHO-E) "ls -ld" \
364             "$(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME)" \
365              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
366         @$(ECHO-E) "$(ECHO-E) \"\nPEGASUS TEST MAKE FILES\"" \
367              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
368         @$(foreach i, $(MAK_FILES), $(ECHO-E) \
369              "ls -l $(PEGASUS_TEST_DIR)/mak/$(i)" \
370              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall;)
371         @$(ECHO-E) "ls -l $(PEGASUS_TEST_DIR)/Makefile" \
372              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
373         @$(ECHO-E) "$(ECHO-E) \"\nPEGASUS TEST PROVIDER FILES\"" \
374              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
375         @$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) \
376              "ls -l $(PEGASUS_TEST_DIR)/$(PEGASUS_ARCH_LIB)/$(i)$(LIB_SUFFIX)" \
377              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall;)
378         @$(foreach i, $(PEGASUS_TEST_PROVIDERS), $(ECHO-E) \
379              "ls -l $(PEGASUS_PROVIDER_LIB_DIR)/$(i)$(LIB_LINK_SUFFIX)" \
380              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall;)
381         @$(ECHO-E) "$(ECHO-E) \"\nPEGASUS PRESTARTTEST FILES\"" \
382              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
383         @$(foreach i, $(PRESTARTTEST_FILES), $(ECHO-E) \
384              "ls -l $(PEGASUS_TEST_DIR)/bin/$(i)" \
385              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall;)
386         @$(ECHO-E) "$(ECHO-E) \"\nPEGASUS POSTSTARTTEST FILES\"" \
387              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall
388         @$(foreach i, $(POSTSTARTTEST_FILES), $(ECHO-E) \
389              "ls -l $(PEGASUS_TEST_DIR)/bin/$(i)" \
390              >> $(PEGASUS_HOME)/PegasusVerifyTestInstall;)
391
392
393