version 1.95, 2008/11/17 19:28:53
|
version 1.108, 2011/08/09 07:32:51
|
|
|
#//%2006//////////////////////////////////////////////////////////////////////// |
#//%LICENSE//////////////////////////////////////////////////////////////// |
#// | #// |
#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
#// Licensed to The Open Group (TOG) under one or more contributor license |
#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with |
#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; |
#// this work for additional information regarding copyright ownership. |
#// IBM Corp.; EMC Corporation, The Open Group. |
#// Each contributor licenses this file to you under the OpenPegasus Open |
#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
#// Source License; you may not use this file except in compliance with the |
#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
#// License. |
#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
#// EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
#// EMC Corporation; Symantec Corporation; The Open Group. |
|
#// | #// |
#// Permission is hereby granted, free of charge, to any person obtaining a copy |
#// Permission is hereby granted, free of charge, to any person obtaining a |
#// of this software and associated documentation files (the "Software"), to |
#// copy of this software and associated documentation files (the "Software"), |
#// deal in the Software without restriction, including without limitation the |
#// to deal in the Software without restriction, including without limitation |
#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
#// the rights to use, copy, modify, merge, publish, distribute, sublicense, |
#// sell copies of the Software, and to permit persons to whom the Software is |
#// and/or sell copies of the Software, and to permit persons to whom the |
#// furnished to do so, subject to the following conditions: |
#// Software is furnished to do so, subject to the following conditions: |
#// | #// |
#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN |
#// The above copyright notice and this permission notice shall be included |
#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED |
#// in all copies or substantial portions of the Software. |
#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT |
|
#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR |
|
#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
|
#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
|
#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
#// | #// |
#//============================================================================== |
#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
|
#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|
#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|
#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
|
#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
|
#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
|
#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
#// |
|
#////////////////////////////////////////////////////////////////////////// |
############################################################################### | ############################################################################### |
## | ## |
## Test Makefile for Pegasus CIMOM | ## Test Makefile for Pegasus CIMOM |
|
|
ifeq ($(PEGASUS_TEST_SDK),true) | ifeq ($(PEGASUS_TEST_SDK),true) |
$(MAKE) --directory=$(PEGASUS_ROOT)/src/SDK/samples -f Makefile setupSDK | $(MAKE) --directory=$(PEGASUS_ROOT)/src/SDK/samples -f Makefile setupSDK |
endif | endif |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimstop |
| |
# slptests are run under separate target because these testcases require that | # slptests are run under separate target because these testcases require that |
# both the cimserver and SLP are running. There is no need for special options | # both the cimserver and SLP are running. There is no need for special options |
|
|
@ $(ECHO) "+++++ TestMakefile servertests suites complete" | @ $(ECHO) "+++++ TestMakefile servertests suites complete" |
| |
serversuite: FORCE | serversuite: FORCE |
|
$(MAKE) --directory=$(PEGASUS_ROOT)/src/Pegasus/Server/tests -f Makefile commandtests |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimstart |
$(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile poststarttests | $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile poststarttests |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestBinRepository | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestBinRepository |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cimsub_InterOp | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cimsub_InterOp |
|
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile runCBATestSuites | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile runCBATestSuites |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_SDK_TS1 | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_SDK_TS1 |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_ExportClientSSL_TS1 | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_ExportClientSSL_TS1 |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cimserver_Availability |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_sslCipherSuiteTests |
ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER),true) | ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER),true) |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cmpi_Sub | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cmpi_Sub |
endif | endif |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimprovagt32tests |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_idleConnectionTimeout1 | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_idleConnectionTimeout1 |
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_idleConnectionTimeout2 | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_idleConnectionTimeout2 |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_providerLifecycleIndicationTests |
| |
##################### | ##################### |
# | # |
|
|
OOP_TS1_CONFIG_OPTIONS = forceProviderProcesses=true | OOP_TS1_CONFIG_OPTIONS = forceProviderProcesses=true |
endif | endif |
| |
|
ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true) |
|
# When privilege separation is enabled, most providers run out of process |
|
# regardless of the forceProviderProcesses setting. The exception is |
|
# providers that register with UserContext = 5 (CIM Server). The only |
|
# case of this in the automated tests is the UserContextTestProvider. |
|
OOP_TS1_TEST_CMDS = \ |
|
$(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Providers/TestProviders/UserContextTestProvider/testclient@@poststarttests |
|
else |
OOP_TS1_TEST_CMDS = \ | OOP_TS1_TEST_CMDS = \ |
$(MAKE)@@--directory=$(PEGASUS_ROOT)@@Makefile@@-s@@poststarttests |
$(MAKE)@@--directory=$(PEGASUS_ROOT)@@-f@@Makefile@@poststarttests |
|
endif |
| |
run_OOP_TS1: | run_OOP_TS1: |
$(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \ | $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \ |
|
|
## authentication enabled. | ## authentication enabled. |
## | ## |
############################################################################### | ############################################################################### |
OOPProvFail_TS1a_CONFIG_OPTIONS = forceProviderProcesses=true enableAuthentication=true |
OOPProvFail_TS1a_CONFIG_OPTIONS = forceProviderProcesses=true enableAuthentication=true maxFailedProviderModuleRestarts=0 |
OOPProvFail_TS1b_CONFIG_OPTIONS = forceProviderProcesses=true enableAuthentication=false |
OOPProvFail_TS1b_CONFIG_OPTIONS = forceProviderProcesses=true enableAuthentication=false maxFailedProviderModuleRestarts=0 |
OOPProvFail_TS1_TEST_CMDS = \ | OOPProvFail_TS1_TEST_CMDS = \ |
$(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Providers/TestProviders/OOPModuleFailureProvider/testclient@@OOPProvFail_TS1 | $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Providers/TestProviders/OOPModuleFailureProvider/testclient@@OOPProvFail_TS1 |
| |
|
|
## to exit and the test suite to fail. | ## to exit and the test suite to fail. |
## | ## |
############################################################################### | ############################################################################### |
OOPProvFail_TS3_CONFIG_OPTIONS = forceProviderProcesses=true enableAuthentication=true |
OOPProvFail_TS3_CONFIG_OPTIONS = forceProviderProcesses=true enableAuthentication=true maxFailedProviderModuleRestarts=0 |
OOPProvFail_TS3a_TEST_CMDS = \ | OOPProvFail_TS3a_TEST_CMDS = \ |
$(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Providers/TestProviders/OOPModuleFailureProvider/testclient@@OOPProvFail_TS3a | $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Providers/TestProviders/OOPModuleFailureProvider/testclient@@OOPProvFail_TS3a |
OOPProvFail_TS3b_TEST_CMDS = \ | OOPProvFail_TS3b_TEST_CMDS = \ |
|
|
$(ECHO) "PEGASUS_HAS_SSL not defined - Not Creating SSL certificate for test" | $(ECHO) "PEGASUS_HAS_SSL not defined - Not Creating SSL certificate for test" |
endif | endif |
| |
|
############################################################################ |
|
## |
|
## run_sslCipherSuiteTests |
|
## |
|
## Configuration Options: enableHttpsConnection=true |
|
## sslCipherSuite=HIGH |
|
## |
|
############################################################################ |
|
|
|
SSL_CIPHER_SUITE_TEST_CONFIG_OPTIONS= enableHttpsConnection=true sslCipherSuite=HIGH |
|
SSL_CIPHER_SUITE_TEST_CMDS= \ |
|
$(MAKE)@@--directory \ |
|
$(PEGASUS_ROOT)/src/Pegasus/Client/tests/SSLCipherVerification/ \ |
|
-f@@Makefile@@sslCipherSuiteTests |
|
|
|
ifdef PEGASUS_HAS_SSL |
|
run_sslCipherSuiteTests: |
|
@$(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \ |
|
CIMSERVER_CONFIG_OPTIONS="$(SSL_CIPHER_SUITE_TEST_CONFIG_OPTIONS)" \ |
|
TESTSUITE_CMDS="$(SSL_CIPHER_SUITE_TEST_CMDS)" |
|
else |
|
run_sslCipherSuiteTests: FORCE |
|
@ $(ECHO) "+++++ PEGASUS_HAS_SSL not defined: Skipping run_sslCipherSuiteTests" |
|
endif |
|
|
|
|
############################################################################### | ############################################################################### |
## G11N Test Suite 1: Globalization Tests | ## G11N Test Suite 1: Globalization Tests |
## | ## |
|
|
TESTSUITE_CMDS="$(IDLE_CONNECTION_TIMEOUT_1_TEST_CMDS)" | TESTSUITE_CMDS="$(IDLE_CONNECTION_TIMEOUT_1_TEST_CMDS)" |
############################################################################### | ############################################################################### |
| |
|
|
############################################################################### | ############################################################################### |
## idleConnectionTimeout Test Suite 2: uses IdleConnectionTimeout client test | ## idleConnectionTimeout Test Suite 2: uses IdleConnectionTimeout client test |
## | ## |
|
|
TESTSUITE_CMDS="$(IDLE_CONNECTION_TIMEOUT_2_TEST_CMDS)" | TESTSUITE_CMDS="$(IDLE_CONNECTION_TIMEOUT_2_TEST_CMDS)" |
############################################################################### | ############################################################################### |
| |
|
############################################################################### |
|
## cimserver thread limit test: |
|
## |
|
## Configuration Options: none |
|
## |
|
############################################################################### |
|
CIMSERVER_THREAD_LIMIT_TEST_CONFIG_OPTIONS = forceProviderProcesses=true |
|
CIMSERVER_THREAD_LIMIT_TEST_CMDS = \ |
|
$(MAKE)@@--directory \ |
|
$(PEGASUS_ROOT)/src/Providers/TestProviders/FaultyInstanceProvider/testclient \ |
|
-f@@Makefile@@runAvailabilityTest |
|
run_Cimserver_Availability: FORCE |
|
$(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \ |
|
CIMSERVER_CONFIG_OPTIONS="$(CIMSERVER_THREAD_LIMIT_TEST_CONFIG_OPTIONS)" \ |
|
TESTSUITE_CMDS="$(CIMSERVER_THREAD_LIMIT_TEST_CMDS)" |
|
############################################################################### |
| |
############################################################################### | ############################################################################### |
## cimsub CLI Test Suite 1: PG_InterOp Tests | ## cimsub CLI Test Suite 1: PG_InterOp Tests |
|
|
############################################################################## | ############################################################################## |
| |
| |
|
############################################################################# |
|
## |
|
## 32-bit provider tests on 64-bit CIMServer |
|
## |
|
############################################################################# |
|
|
|
TEST_32BIT_CONFIG_OPTIONS = providerDir=lib32:lib |
|
TEST_32BIT_CMDS = \ |
|
$(MAKE)@@--directory \ |
|
$(PEGASUS_ROOT)/src/Providers/TestProviders -f@@Makefile.cimprovagt32tests@@cimprovagt32tests |
|
cimprovagt32tests: FORCE |
|
ifdef PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT |
|
$(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \ |
|
CIMSERVER_CONFIG_OPTIONS="$(TEST_32BIT_CONFIG_OPTIONS)" \ |
|
TESTSUITE_CMDS="$(TEST_32BIT_CMDS)" |
|
else |
|
@$(ECHO) "PEGASUS_PLATFORM_FOR_32BIT_PROVIDER_SUPPORT not defined, skipping 32-bit tests..." |
|
endif |
|
|
|
|
|
############################################################################# |
|
## |
|
## provider lifecycle indications tests |
|
## |
|
############################################################################# |
|
run_providerLifecycleIndicationTests: FORCE |
|
$(MAKE) --directory $(PEGASUS_ROOT)/src/Providers/TestProviders/TestProviderLifecycleIndications/testclient -f Makefile setupLogFile |
|
-$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstart CIMSERVER_CONFIG_OPTIONS="forceProviderProcesses=true maxFailedProviderModuleRestarts=1" |
|
$(MAKE) --directory $(PEGASUS_ROOT)/src/Providers/TestProviders/TestProviderLifecycleIndications/testclient -f Makefile createPLISubscription |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstart CIMSERVER_CONFIG_OPTIONS="forceProviderProcesses=true maxFailedProviderModuleRestarts=1" |
|
$(MAKE) --directory $(PEGASUS_ROOT)/src/Providers/TestProviders/TestProviderLifecycleIndications/testclient -f Makefile testPLI |
|
$(MAKE) --directory $(PEGASUS_ROOT)/src/Providers/TestProviders/TestProviderLifecycleIndications/testclient -f Makefile deletePLISubscription |
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop |
|
$(MAKE) --directory $(PEGASUS_ROOT)/src/Providers/TestProviders/TestProviderLifecycleIndications/testclient -f Makefile testLogFile |
|
|
############################################################################## | ############################################################################## |
## | ## |
## TestXMLRepository rule is used to run the poststarttests suite on | ## TestXMLRepository rule is used to run the poststarttests suite on |
|
|
@ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository depend | @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository depend |
@ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository | @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository |
| |
|
|
############################################################################### | ############################################################################### |
## | ## |
## Trace Configuration | ## Trace Configuration |
|
|
$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstart CIMSERVER_CONFIG_OPTIONS="enableHttpConnection=false enableHttpsConnection=true" | $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstart CIMSERVER_CONFIG_OPTIONS="enableHttpConnection=false enableHttpsConnection=true" |
$(SLEEP) 5 | $(SLEEP) 5 |
| |
|
############################################################################### |
|
## |
|
## check_for_cores - used to search for core files in the build environment. |
|
## |
|
## This option will search (1) each source directory, (2) the PEGASUS_CORE_DIR |
|
## if it is defined and (3) the PEGASUS_TMP directory. |
|
## |
|
############################################################################### |
|
CORE_FILE_LIST = $(PEGASUS_HOME)/CoreFileList |
|
|
|
check_core_search_results: |
|
ifneq ($(wildcard $(CORE_FILE_LIST)), ) |
|
@$(ECHO) "*** One or more core files found. ***" |
|
@$(CAT) $(CORE_FILE_LIST) |
|
@exit 1 |
|
endif |
|
|
|
ifdef PEGASUS_CORE_DIR |
|
CORE_FILES_IN_CORE_DIR = \ |
|
$(wildcard $(PEGASUS_CORE_DIR)/$(PLATFORM_CORE_PATTERN)) |
|
endif |
|
ifdef PEGASUS_TMP |
|
CORE_FILES_IN_TMP_DIR = \ |
|
$(wildcard $(PEGASUS_TMP)/$(PLATFORM_CORE_PATTERN)) |
|
endif |
|
|
|
generate_core_file_list: |
|
@$(RM) $(CORE_FILE_LIST) |
|
@$(MAKE) -s directory=$(PEGASUS_ROOT) general OPTION=CORE_SEARCH \ |
|
CORE_FILE_LIST=$(CORE_FILE_LIST) |
|
ifdef PEGASUS_CORE_DIR |
|
ifneq ($(CORE_FILES_IN_CORE_DIR), ) |
|
@$(ECHO) $(CORE_FILES_IN_CORE_DIR) >> $(CORE_FILE_LIST) |
|
endif |
|
endif |
|
ifdef PEGASUS_TMP |
|
ifneq ($(CORE_FILES_IN_TMP_DIR), ) |
|
@$(ECHO) $(CORE_FILES_IN_TMP_DIR) >> $(CORE_FILE_LIST) |
|
endif |
|
endif |
|
|
|
check_for_cores: |
|
@$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile \ |
|
generate_core_file_list |
|
@$(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile \ |
|
check_core_search_results |
|
|
|
############################################################################### |
|
## |
|
## option_summary - used to generate a concise list of build options for use in |
|
## a nightly build status report. This is not intended to be a complete list, |
|
## so it is likely that some options are omitted. New options may be added |
|
## here as needs dictate. |
|
## |
|
############################################################################### |
|
|
|
OPTION_SUMMARY = |
|
ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER),true) |
|
OPTION_SUMMARY += "+CMPI" |
|
endif |
|
ifeq ($(PEGASUS_ENABLE_CQL),true) |
|
OPTION_SUMMARY += "+CQL" |
|
endif |
|
ifeq ($(PEGASUS_HAS_ICU),true) |
|
OPTION_SUMMARY += "+ICU" |
|
endif |
|
ifeq ($(PEGASUS_ENABLE_IPV6),true) |
|
OPTION_SUMMARY += "+IPv6" |
|
endif |
|
ifeq ($(PEGASUS_ENABLE_JMPI_PROVIDER_MANAGER),true) |
|
OPTION_SUMMARY += "+JMPI" |
|
endif |
|
ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true) |
|
OPTION_SUMMARY += "+PrivSep" |
|
endif |
|
ifdef PEGASUS_ENABLE_EXECQUERY |
|
OPTION_SUMMARY += "+Query" |
|
endif |
|
ifdef PEGASUS_ENABLE_REMOTE_CMPI |
|
OPTION_SUMMARY += "+RCMPI" |
|
endif |
|
ifeq ($(PEGASUS_ENABLE_SLP),true) |
|
OPTION_SUMMARY += "+SLP" |
|
endif |
|
ifeq ($(PEGASUS_USE_SQLITE_REPOSITORY),true) |
|
OPTION_SUMMARY += "+SQLite" |
|
endif |
|
ifdef PEGASUS_HAS_SSL |
|
OPTION_SUMMARY += "+SSL" |
|
endif |
|
ifeq ($(PEGASUS_ENABLE_PROTOCOL_WSMAN),true) |
|
OPTION_SUMMARY += "+WSMan" |
|
endif |
|
|
|
option_summary: |
|
@$(ECHO) "$(OPTION_SUMMARY)" |