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