BUG#: 8815
[tpot/pegasus/.git] / TestMakefile
index e4490616600d4ef79d06ad07bd972f7862ee3c84..d5ec9bafb9fb5178b734b4094a439ff900b27518 100644 (file)
@@ -1,33 +1,31 @@
-#//%2006////////////////////////////////////////////////////////////////////////
+#//%LICENSE////////////////////////////////////////////////////////////////
 #//
-#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
-#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
-#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
-#// IBM Corp.; EMC Corporation, The Open Group.
-#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
-#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
-#// 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.
+#// Licensed to The Open Group (TOG) under one or more contributor license
+#// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
+#// this work for additional information regarding copyright ownership.
+#// Each contributor licenses this file to you under the OpenPegasus Open
+#// Source License; you may not use this file except in compliance with the
+#// License.
 #//
-#// Permission is hereby granted, free of charge, to any person obtaining a copy
-#// of this software and associated documentation files (the "Software"), to
-#// deal in the Software without restriction, including without limitation the
-#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-#// sell copies of the Software, and to permit persons to whom the Software is
-#// furnished to do so, subject to the following conditions:
-#// 
-#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
-#// ALL COPIES OR SUBSTANTIAL PORTIONS OF 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.
+#// Permission is hereby granted, free of charge, to any person obtaining a
+#// copy of this software and associated documentation files (the "Software"),
+#// to deal in the Software without restriction, including without limitation
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+#// and/or sell copies of the Software, and to permit persons to whom the
+#// Software is furnished to do so, subject to the following conditions:
 #//
-#//==============================================================================
+#// The above copyright notice and this permission notice shall be included
+#// in all copies or substantial portions of 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
@@ -79,7 +77,7 @@ usage2: FORCE
        $(USAGE)
        $(USAGE)"TestXMLRepository       - Executes poststarttests on XML repository"
        $(USAGE)"                          built with cimmofl."
-       $(USAGE)"TestXMLRepositoryServer - Executes poststarttests on XML repository" 
+       $(USAGE)"TestXMLRepositoryServer - Executes poststarttests on XML repository"
        $(USAGE)"                          built with cimmof."
        $(USAGE)"TestXMLCmpRepository    - Executes poststarttests on XML compressed"
        $(USAGE)"                          repository built with cimmofl."
@@ -92,7 +90,9 @@ usage2: FORCE
        $(USAGE)
        $(USAGE)"The following require the repository to be pre-built."
        $(USAGE)
-       $(USAGE)"run_SSL_TS1             - Executes the SSL tests"
+       $(USAGE)"run_SSL_CBA_TS1         - Executes the Certificate based authentication test suite."
+       $(USAGE)"run_SSL_IPV4_TS1        - Executes the IPv4 SSL connection test suite."
+       $(USAGE)"run_SSL_IPV6_TS1        - Executes the IPv6 SSL connection test suite."
        $(USAGE)"run_OOP_TS1             - Executes the Out Of Process Provider tests"
        $(USAGE)"run_G11N_TS1            - Executes the Globalization tests"
        $(USAGE)
@@ -101,6 +101,7 @@ usage2: FORCE
        $(USAGE)"serversuite             - the collection of test run by the servertests rule"
        $(USAGE)"run_STRESS_TS1          - Executes the stresstests"
        $(USAGE)"slptests                - Executes the slptests"
+       $(USAGE)"run_Cmpi_Sub            - Executes the CMPI subscription tests"
        $(USAGE)
 
 
@@ -128,7 +129,7 @@ depend: FORCE
 ###############################################################################
 #   mak/certificate_test.mak implements three key functions for
 #   testing Certificate-Based Authentication (CBA).
-#   
+#
 #   setupCBATestCertificates is used to create a set of test certificates
 #       make -f TestMakefile setupCBATestCertificates
 #
@@ -150,7 +151,7 @@ include $(PEGASUS_ROOT)/mak/certificate_test.mak
 ## Although the macros CIMSERVER_STOP_SERVICE and CIMSERVER_START_SERVICE
 ## are available and could be invoked directly, their direct usage is
 ## discouraged in favor of invoking the cimstop and the cimstart rules
-## as this allows one place where additional checks, delays etc may be 
+## as this allows one place where additional checks, delays etc may be
 ## added in the future to control or further test the servers performance
 ## in executing these commands.
 ##
@@ -171,7 +172,7 @@ doc:
 repositoryServer: FORCE
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
        $(SLEEP) 5
-       $(RMDIRHIER) $(REPOSITORY_ROOT)
+       $(RMREPOSITORY) $(REPOSITORY_ROOT)
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstart
        $(SLEEP) 5
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repositoryServer
@@ -180,7 +181,7 @@ repositoryServer: FORCE
 ######################
 #
 # prestarttests is being deprecated since poststarttest is being deprecated
-# in favor of name more related to its intended functionality. 
+# in favor of name more related to its intended functionality.
 #
 prestarttests: prestarttests_msg shortsleep unittests
 
@@ -188,28 +189,28 @@ prestarttests_msg: FORCE
        @$(ECHO) "=============================================================================="
        @$(ECHO) "TestMakefile: The \"prestarttests\" rule is being deprecated."
        @$(ECHO) "              Use \"make testusage\" for a description of the usage model."   
-       @$(ECHO) "              The equivalent new rule is \"unittests\"."  
+       @$(ECHO) "              The equivalent new rule is \"unittests\"."
        @$(ECHO) "              Invoking the \"unittests\" rule now."
        @$(ECHO) "=============================================================================="
 
 ####################
 #
-# poststarttests is being deprecated since it multiply defines a 
+# poststarttests is being deprecated since it multiply defines a
 # recursive make rule leading to ambuguity and confusion.
 #
-poststarttests: poststarttests_msg shortsleep servertests 
+poststarttests: poststarttests_msg shortsleep servertests
 
 poststarttests_msg: FORCE
        @$(ECHO) "==============================================================================="
-       @$(ECHO) "TestMakefile: The \"posstarttests\" rule is being deprecated.."  
+       @$(ECHO) "TestMakefile: The \"posstarttests\" rule is being deprecated.."
        @$(ECHO) "              Use \"make testusage\" for a description of the usage model."   
-       @$(ECHO) "              The equivalent new rule is \"servertests\"."  
+       @$(ECHO) "              The equivalent new rule is \"servertests\"."
        @$(ECHO) "              Invoking the \"servertests\" rule now."
        @$(ECHO) "==============================================================================="
 
 #####################
 #
-# tests is being deprecated since it multiply defines a 
+# tests is being deprecated since it multiply defines a
 # recursive make rule leading to ambuguity and confusion.
 #
 tests: tests_msg shortsleep alltests
@@ -218,7 +219,7 @@ tests_msg: FORCE
        @$(ECHO) "==================================================================="
        @$(ECHO) "TestMakefile: The \"tests\" rule is being deprecated."
        @$(ECHO) "              Use \"make testusage\" for a description of the usage model."   
-       @$(ECHO) "              The equivalent new rule is \"alltests\"."  
+       @$(ECHO) "              The equivalent new rule is \"alltests\"."
        @$(ECHO) "              Invoking the \"alltests\" rule now."
        @$(ECHO) "==================================================================="
 
@@ -248,9 +249,9 @@ servertestsclean: FORCE
 servertestssetup: FORCE
 ifdef PEGASUS_HAS_SSL
 #
-# The association between user names and certificates is stored in the 
+# The association between user names and certificates is stored in the
 # repository.  If the repository is recreated, we also need to re-initialize
-# the trust store directories. Otherwise, the truststore content will be 
+# the trust store directories. Otherwise, the truststore content will be
 # out-of-sync with the mapping stored in the repository.
 #
 #  NOTE: Tests that require their own test namespaces to run poststarttests
@@ -271,8 +272,9 @@ endif
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile ConfigureUsers
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile Create_SSL_Certificate
 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
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimstop
 
 # 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
@@ -285,6 +287,8 @@ servertests: servertestsclean servertestssetup serversuite
        @ $(ECHO) "+++++ TestMakefile servertests suites complete"
 
 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 TestMakefile TestBinRepository
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cimsub_InterOp
@@ -294,11 +298,19 @@ serversuite: FORCE
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_OOPProvFail_TS2
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_OOPProvFail_TS3
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_INDSSL_TS1
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_SSL_TS1
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_SSL_IPV4_TS1
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_SSL_IPV6_TS1
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_SSL_CBA_TS1
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_G11N_TS1
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile runCBATestSuites
        $(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_Cimserver_Availability
+ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER),true)
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_Cmpi_Sub
+endif
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_idleConnectionTimeout1
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile run_idleConnectionTimeout2
 
 #####################
 #
@@ -314,7 +326,7 @@ stresstests:
 # - Turns statistics on (uses TestInterop until we have better)
 # - runs poststarttests suite and TestBenchmark
 # - runs cimperf to displat the statistics
-# - turns statistics off 
+# - turns statistics off
 #
 perftests: servertestsclean servertestssetup perfsuite
 
@@ -348,7 +360,7 @@ endif
 ###############################################################################
 
 ###############################################################################
-##  OOP Test Suite 1: "Out-of-Process"(OOP) Provider Tests 
+##  OOP Test Suite 1: "Out-of-Process"(OOP) Provider Tests
 ##
 ##  Configuration Options: forceProviderProcesses=true
 ##
@@ -363,8 +375,17 @@ else
 OOP_TS1_CONFIG_OPTIONS = forceProviderProcesses=true
 endif
 
-OOP_TS1_TEST_CMDS = \
-        $(MAKE)@@--directory=$(PEGASUS_ROOT)@@Makefile@@-s@@poststarttests
+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 = \
+        $(MAKE)@@--directory=$(PEGASUS_ROOT)@@-f@@Makefile@@poststarttests
+endif
 
 run_OOP_TS1:
        $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
@@ -374,12 +395,12 @@ run_OOP_TS1:
 ###############################################################################
 
 ###############################################################################
-##  IndInit Test Suite 1: IndicationService Initialization Tests 
+##  IndInit Test Suite 1: IndicationService Initialization Tests
 ##
 ##  Configuration Options: (none)
 ##
 ###############################################################################
-IndInit_TS1_CONFIG_OPTIONS = 
+IndInit_TS1_CONFIG_OPTIONS =
 IndInit_TS1a_TEST_CMDS = \
        $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Pegasus/IndicationService/tests/ProcessIndication@@IndInit_TS1a
 IndInit_TS1b_TEST_CMDS = \
@@ -427,7 +448,7 @@ run_OOPProvFail_TS1: FORCE
 endif
 
 ###############################################################################
-##  OOPProvFail Test Suite 2: OOP Provider Module Failure on IndicationService 
+##  OOPProvFail Test Suite 2: OOP Provider Module Failure on IndicationService
 ##                            Initialization Tests
 ##
 ##  Configuration Options: forceProviderProcesses=true
@@ -525,9 +546,81 @@ endif
 
 
 ###############################################################################
+
 ###############################################################################
-##  SSL Test Suite 1: SSL Tests
+##  SSL IPv4 Test Suite : Tests SSL connections for IPv4
+##
+##  Configuration Options: enableHttpsConnection=true
+##  NOTE : Authentication is not enabled as we are only verifying
+##         if SSL based IPv6 connections are working correctly. The osinfo
+##         client requires a password to be passed for a remote connection
+##         otherwise it will prompt for one. As a work around,
+##         we are providing a dummy password.
+##
+###############################################################################
+SSL_IPV4_TS1_CONFIG_OPTIONS = enableHttpsConnection=true \
+      enableAuthentication=false
+SSL_IPV4_TS1_CMD_1 = \
+        osinfo -s -w notapassword -h 127.0.0.1 -p 5989
+SSL_IPV4_TS1_CMD_2 = \
+        osinfo -s -w notapassword -h localhost -p 5989
+
+ifdef PEGASUS_HAS_SSL
+    run_SSL_IPV4_TS1: FORCE
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(SSL_IPV4_TS1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(SSL_IPV4_TS1_CMD_1)"
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(SSL_IPV4_TS1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(SSL_IPV4_TS1_CMD_2)"
+else
+    run_SSL_IPV4_TS1: FORCE
+       @ $(ECHO) "+++++ PEGASUS_HAS_SSL not defined: Skipping run_SSL_IPV4_TS1"
+endif
+
+###############################################################################
+##  SSL IPv6 Test Suite : Tests SSL connections for IPv6
+##
+##  Configuration Options: enableHttpsConnection=true
+##  NOTE : Authentication is not enabled as we are only verifying
+##         if SSL based IPv6 connections are working correctly. The osinfo
+##         client requires a password to be passed for a remote connection
+##         otherwise it will prompt for one. As a work around,
+##         we are providing a dummy password.
+##
+##         The IPv4-mapped IPv6 address test is only enabled for unix
+##         platforms as Windows does not support IPv4-mapped IPv6 addresses
+##         on certain versions.
+##
+###############################################################################
+SSL_IPV6_TS1_CONFIG_OPTIONS = enableHttpsConnection=true \
+      enableAuthentication=false
+SSL_IPV6_TS1_CMD_1 = \
+        osinfo -s -w notapassword -h ::1 -p 5989
+SSL_IPV6_TS1_CMD_2 = \
+        osinfo -s -w notapassword -h ::ffff:127.0.0.1 -p 5989
+
+ifdef PEGASUS_HAS_SSL
+    run_SSL_IPV6_TS1: FORCE
+    ifeq ($(PEGASUS_TEST_IPV6), true)
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(SSL_IPV6_TS1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(SSL_IPV6_TS1_CMD_1)"
+      ifeq ($(OS_TYPE), unix)
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(SSL_IPV6_TS1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(SSL_IPV6_TS1_CMD_2)"
+      endif
+    else
+       @ $(ECHO) "+++++ PEGASUS_TEST_IPV6 not defined: Skipping run_SSL_IPV6_TS1"
+    endif
+else
+    run_SSL_IPV6_TS1: FORCE
+       @ $(ECHO) "+++++ PEGASUS_HAS_SSL not defined: Skipping run_SSL_IPV6_TS1"
+endif
+
+###############################################################################
+##  CBA SSL Test Suite 1: Certificate based authentication Tests
 ##
 ##  Configuration Options: enableAuthentication=true
 ##                         enableHttpsConnection=true
@@ -535,34 +628,34 @@ endif
 ##                         sslTrustStoreUserName=$(CURRENT_USER)
 ##
 ###############################################################################
-SSL_TS1_CONFIG_OPTIONS = enableHttpsConnection=true enableAuthentication=true \
+SSL_CBA_TS1_CONFIG_OPTIONS = enableHttpsConnection=true enableAuthentication=true \
        sslClientVerificationMode=optional sslTrustStoreUserName=$(CURRENT_USER)
-SSL_TS1_TEST_CMDS = \
+SSL_CBA_TS1_TEST_CMD_1 = \
        $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Clients/cimtrust/tests@@SSLCertificateTest1
-SSL_TS2_TEST_CMDS = \
+SSL_CBA_TS1_TEST_CMD_2 = \
        $(MAKE)@@--directory=$(PEGASUS_ROOT)/src/Clients/cimcrl/tests@@SSLCRLTest1
 
 ifdef PEGASUS_HAS_SSL
 ifndef PEGASUS_DISABLE_PRIVILEGED_TESTS
-run_SSL_TS1: FORCE
+run_SSL_CBA_TS1: FORCE
        $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
-            CIMSERVER_CONFIG_OPTIONS="$(SSL_TS1_CONFIG_OPTIONS)" \
-            TESTSUITE_CMDS="$(SSL_TS1_TEST_CMDS)"
+            CIMSERVER_CONFIG_OPTIONS="$(SSL_CBA_TS1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(SSL_CBA_TS1_TEST_CMD_1)"
        $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
-            CIMSERVER_CONFIG_OPTIONS="$(SSL_TS1_CONFIG_OPTIONS)" \
-            TESTSUITE_CMDS="$(SSL_TS2_TEST_CMDS)"
+            CIMSERVER_CONFIG_OPTIONS="$(SSL_CBA_TS1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(SSL_CBA_TS1_TEST_CMD_2)"
 else
-run_SSL_TS1: FORCE
-       @ $(ECHO) "+++++ PEGASUS_DISABLE_PRIVILEGED_TESTS defined: Skipping run_SSL_TS1"        
+run_SSL_CBA_TS1: FORCE
+       @ $(ECHO) "+++++ PEGASUS_DISABLE_PRIVILEGED_TESTS defined: Skipping run_SSL_CBA_TS1"    
 endif
 else
-run_SSL_TS1: FORCE
-       @ $(ECHO) "+++++ PEGASUS_HAS_SSL not defined: Skipping run_SSL_TS1 poststarttest"
+run_SSL_CBA_TS1: FORCE
+       @ $(ECHO) "+++++ PEGASUS_HAS_SSL not defined: Skipping run_SSL_CBA_TS1"
 
 endif
 
 ############################################################################
-# 
+#
 # Create_SSL_Certificate
 #
 # create a certificate that can be used for certification testing.
@@ -583,7 +676,7 @@ else
 endif
 
 ###############################################################################
-##  G11N Test Suite 1: Globalization Tests 
+##  G11N Test Suite 1: Globalization Tests
 ##
 ##  Configuration Options: forceProviderProcesses=false
 ##
@@ -623,7 +716,7 @@ run_STRESS_TS1:
 SDK_TS1_CONFIG_OPTIONS =
 SDK_TS1_TEST_CMDS = \
         $(MAKE) --directory $(PEGASUS_ROOT)/src/SDK/samples \
-            -f Makefile testSDK 
+            -f Makefile testSDK
 
 ifeq ($(PEGASUS_TEST_SDK),true)
 run_SDK_TS1: FORCE
@@ -668,6 +761,57 @@ endif
 
 
 
+###############################################################################
+##  idleConnectionTimeout Test Suite 1:  uses ChunkingStressProvider Tests
+##
+##  Configuration Options: idleConnectionTime=55
+##
+###############################################################################
+IDLE_CONNECTION_TIMEOUT_1_CONFIG_OPTIONS = idleConnectionTimeout=55
+IDLE_CONNECTION_TIMEOUT_1_TEST_CMDS = \
+       $(MAKE)@@--directory \
+            $(PEGASUS_ROOT)/src/Providers/TestProviders/ChunkingStressProvider/testclient \
+            -f@@Makefile@@poststarttests
+run_idleConnectionTimeout1: FORCE
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(IDLE_CONNECTION_TIMEOUT_1_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(IDLE_CONNECTION_TIMEOUT_1_TEST_CMDS)"
+###############################################################################
+
+###############################################################################
+##  idleConnectionTimeout Test Suite 2:  uses IdleConnectionTimeout client test
+##
+##  Configuration Options: idleConnectionTime=6
+##
+###############################################################################
+IDLE_CONNECTION_TIMEOUT_2_CONFIG_OPTIONS = idleConnectionTimeout=6
+IDLE_CONNECTION_TIMEOUT_2_TEST_CMDS = \
+       $(MAKE)@@--directory \
+            $(PEGASUS_ROOT)/src/Pegasus/Client/tests/IdleConnectionTimeout/ \
+            -f@@Makefile@@timeoutTest@@IDLETIME=10
+run_idleConnectionTimeout2: FORCE
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(IDLE_CONNECTION_TIMEOUT_2_CONFIG_OPTIONS)" \
+            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
 ##
@@ -686,7 +830,30 @@ run_Cimsub_InterOp: FORCE
 ###############################################################################
 
 ###############################################################################
+## CMPI subscription activation Test Suite 1:
+##
+## Configuration Options: (none)
+##
+###############################################################################
+CMPI_SUB_TEST_CONFIG_OPTIONS=
+CMPI_SUBa_TEST_CMDS = \
+       TestIndicationStressTest TestCMPI_IndicationStressTestClass test/TestProvider setup WQL
+CMPI_SUBb_TEST_CMDS = \
+       TestIndicationStressTest TestCMPI_IndicationStressTestClass test/TestProvider getSubscriptionCount
+CMPI_SUBc_TEST_CMDS =  \
+       TestIndicationStressTest TestCMPI_IndicationStressTestClass test/TestProvider cleanup
+run_Cmpi_Sub: FORCE
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(CMPI_SUB_TEST_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(CMPI_SUBa_TEST_CMDS)"
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(CMPI_SUB_TEST_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(CMPI_SUBb_TEST_CMDS)"
+       $(MAKE) -f $(PEGASUS_ROOT)/TestMakefile runTestSuite \
+            CIMSERVER_CONFIG_OPTIONS="$(CMPI_SUB_TEST_CONFIG_OPTIONS)" \
+            TESTSUITE_CMDS="$(CMPI_SUBc_TEST_CMDS)"
 
+##############################################################################
 
 
 ##############################################################################
@@ -697,7 +864,7 @@ run_Cimsub_InterOp: FORCE
 ## TestXMLRepositoryServer rule is used to run the poststarttests suite on
 ## the XML Repository built using cimmof
 ##
-## TestXMLCmpRepository rule is used to run the poststarttest suite on 
+## TestXMLCmpRepository rule is used to run the poststarttest suite on
 ## the XML Compressed Repository built using cimmofl
 ##
 
@@ -732,9 +899,9 @@ TestXMLCmpRepository: TestXMLClean  TestCmpBuild TestXMLBuildRepo TestXMLRepo Te
        @ $(ECHO) TestXMLCmpRepository +++++ passed all test
 else
 TestXMLCmpRepository: FORCE
-       @ $(ECHO) TestXMLCmpRepository +++++ Not tested 
+       @ $(ECHO) TestXMLCmpRepository +++++ Not tested
        @ $(ECHO) TestXMLCmpRepository +++++ refer to readme.compressed_repository
-       @ $(ECHO) TestXMLCmpRepository +++++ to enable: set PEGASUS_ENABLE_COMPRESSED_REPOSITORY_TEST=true 
+       @ $(ECHO) TestXMLCmpRepository +++++ to enable: set PEGASUS_ENABLE_COMPRESSED_REPOSITORY_TEST=true
 endif
 endif
 
@@ -743,7 +910,7 @@ endif
 ## TestXMLClean
 ##
 TestXMLClean: FORCE
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop 
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repositoryclean REPOSITORY_NAME=repository_xml
 
 
@@ -778,7 +945,7 @@ TestXMLBuildRepo: FORCE
 TestXMLBuildRepoServ: TestXMLStartServer
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repositoryServer REPOSITORY_NAME=repository_xml REPOSITORY_MODE=XML
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile testrepositoryServer REPOSITORY_NAME=repository_xml REPOSITORY_MODE=XML
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop 
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
 
 
 ###########################
@@ -788,7 +955,7 @@ TestXMLBuildRepoServ: TestXMLStartServer
 TestXMLRepo: servertestsclean
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestXMLStartServer
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile poststarttests REPOSITORY_NAME=repository_xml REPOSITORY_MODE=XML
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop 
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
 
 
 
@@ -803,7 +970,7 @@ TestXMLRepo: servertestsclean
 ## TestBinRepositoryServer rule is used to run the poststarttests suite on
 ## the Binary Repository built using cimmof
 ##
-## TestBinCmpRepository rule is used to run the poststarttest suite on 
+## TestBinCmpRepository rule is used to run the poststarttest suite on
 ## the Binry Compressed Repository built using cimmofl
 ##
 
@@ -841,9 +1008,9 @@ TestBinCmpRepository: TestBinClean  TestCmpBuild TestBinBuildRepo TestBinRepo Te
        @ $(ECHO) TestBinCmpRepository +++++ passed all test
 else
 TestBinCmpRepository: FORCE
-       @ $(ECHO) TestBinCmpRepository +++++ Not tested 
+       @ $(ECHO) TestBinCmpRepository +++++ Not tested
        @ $(ECHO) TestBinCmpRepository +++++ refer to readme.compressed_repository
-       @ $(ECHO) TestBinCmpRepository +++++ to enable: set PEGASUS_ENABLE_COMPRESSED_REPOSITORY_TEST=true 
+       @ $(ECHO) TestBinCmpRepository +++++ to enable: set PEGASUS_ENABLE_COMPRESSED_REPOSITORY_TEST=true
 endif
 endif
 
@@ -853,7 +1020,7 @@ endif
 ## TestBinClean
 ##
 TestBinClean: FORCE
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop 
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repositoryclean REPOSITORY_NAME=repository_bin
 
 
@@ -883,17 +1050,17 @@ TestBinBuildRepo: FORCE
 TestBinBuildRepoServ: TestBinStartServer
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repositoryServer REPOSITORY_NAME=repository_bin REPOSITORY_MODE=BIN
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile testrepositoryServer REPOSITORY_NAME=repository_bin REPOSITORY_MODE=BIN
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop 
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
 
 
 ###########################
 ##
 ## TestBinRepo
 ##
-TestBinRepo: servertestsclean 
+TestBinRepo: servertestsclean
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestBinStartServer
        $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile poststarttests REPOSITORY_NAME=repository_bin REPOSITORY_MODE=BIN
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop 
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
 
 
 
@@ -914,8 +1081,8 @@ TestCmpBuild: FORCE
 ##
 TestRegBuild: FORCE
        @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository clean
-       @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository depend 
-       @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository 
+       @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository depend
+       @ $(MAKE) "-SC" $(ROOT)/src/Pegasus/Repository
 
 
 ###############################################################################
@@ -938,7 +1105,7 @@ usagetrace: FORCE
        $(USAGE)" traceon-CL C=[comp] L=[level(1,2,3,4)] W=[current/planned(c,p): "
        $(USAGE)"                           Enables tracing on component C at trace level L."
        $(USAGE)
-       $(USAGE)" W defaults to c in the above commands where W can be specified" 
+       $(USAGE)" W defaults to c in the above commands where W can be specified"
        $(USAGE)
        $(USAGE)"  Usage examples:"
        $(USAGE)"   traceon       turns on trace in current server config"
@@ -956,7 +1123,7 @@ usagetrace: FORCE
        $(USAGE)
 
 traceon: FORCE
-       @ cimconfig -s traceComponents=ALL -$W 
+       @ cimconfig -s traceComponents=ALL -$W
        @ cimconfig -s traceLevel=3 -$W
        $(MAKE) -f $(ROOT)/TestMakefile tracesettings
 
@@ -1023,7 +1190,6 @@ tracecomp: FORCE
        $(USAGE)"ControlProvider"
        $(USAGE)"AsyncOpNode"
        $(USAGE)"CIMOMHandle"
-       $(USAGE)"BinaryMessageHandler"
        $(USAGE)"L10N"
        $(USAGE)"ExportClient"
        $(USAGE)"Listener"
@@ -1075,7 +1241,7 @@ list: tracesettings
 #
 # More testing options...
 #
-# The standard test seem to contain additional test that may not be able 
+# The standard test seem to contain additional test that may not be able
 # to run on all platforms so they have been grouped here for now rather than
 # being included in the serversuite rule.
 #
@@ -1093,27 +1259,28 @@ list: tracesettings
 #       the repository that is then left in place for the remaining tests.
 #       The cimof test must be before the TestNosecurity step as it removes
 #       the repository builds a new one with cimmofl and another one with
-#       cimmof and then compares them. 
+#       cimmof and then compares them.
 #
-# NOTE: The Authentication test is comprised of EnableAuthentication, 
-#       TestLocalSecurity and TestRemoteSecurity. 
+# NOTE: The Authentication test is comprised of EnableAuthentication,
+#       TestLocalSecurity and TestRemoteSecurity.
 #
 # NOTE: The Authorization test is comprised of EnableAuthorization and
-#       TestAuthorization. 
+#       TestAuthorization.
 #
-# NOTE: The EnableAuthentication and EnableAuthorization steps require 
+# NOTE: The EnableAuthentication and EnableAuthorization steps require
 #       root access. Pegasus doesn't currently have the infrastructure
 #       in place to run the server as root and run the test as non-root.
 #       Rather than run everything, server, tests, providers, clients etc.
 #       as root many testers prefer to run the tests as non-root. Setting
-#       PEGASUS_DISABLE_PRIVILEGED_TESTS in the environment helps to 
+#       PEGASUS_DISABLE_PRIVILEGED_TESTS in the environment helps to
 #       facilitate that.
 #
 
 standardtests: FORCE
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i DisableSecurity
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestCimmof
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestNoSecurity
+#      $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestNoSecurity
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repository testrepository
 ifndef PEGASUS_DISABLE_PRIVILEGED_TESTS
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile EnableAuthentication
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile TestLocalSecurity
@@ -1124,6 +1291,10 @@ else
        @ $(ECHO) "+++++ PEGASUS_DISABLE_PRIVILEGED_TESTS defined: Skipping EnableAuthentication, TestLocalSecurity, and TestRemoteSecurity "
        @ $(ECHO) "+++++ PEGASUS_DISABLE_PRIVILEGED_TESTS defined: Skipping EnableAuthorization and TestAuthorization " 
 endif
+        # Reset the security options to the defaults
+       cimconfig -u enableNamespaceAuthorization -p
+       cimconfig -u enableAuthentication -p
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
        @ $(ECHO) "+++++ TestMakefile standardtests complete"
 
 TestNoSecurity:
@@ -1154,7 +1325,23 @@ TestSubscriptions:
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimstop
 
 TestCimmof:
-       $(MAKE) --directory=$(PEGASUS_ROOT) -f Testcimmof poststarttests
+        # Build the repository with cimmofl and cimmof and compare them.
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstop
+       -@$(MOVE) $(REPOSITORY_DIR)/repository $(REPOSITORY_DIR)/repository-save
+       @$(RMREPOSITORY) $(REPOSITORY_DIR)/repository-cimmofl
+       @$(RMREPOSITORY) $(REPOSITORY_DIR)/repository-cimmof
+       @$(ECHO) $(CIM_SCHEMA_DIR)
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repository
+       @$(MOVE) $(REPOSITORY_DIR)/repository $(REPOSITORY_DIR)/repository-cimmofl
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimstart
+       @$(ECHO) $(CIM_SCHEMA_DIR)
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f Makefile repositoryServer
+       $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile cimstop
+       @$(MOVE) $(REPOSITORY_DIR)/repository $(REPOSITORY_DIR)/repository-cimmof
+       -@$(MOVE) $(REPOSITORY_DIR)/repository-save $(REPOSITORY_DIR)/repository
+       TestCompareRepositories $(REPOSITORY_DIR)/repository-cimmofl $(REPOSITORY_DIR)/repository-cimmof
+       @$(RMREPOSITORY) $(REPOSITORY_DIR)/repository-cimmofl
+       @$(RMREPOSITORY) $(REPOSITORY_DIR)/repository-cimmof
 
 RunTestClientLocal:
        TestClient -local
@@ -1226,7 +1413,7 @@ ConfigureAuthorizations:
        cimauth -a -u $(PEGASUS_TEST_USER_ID) -n test1/test2/test3/test4/test5 -R -W
        cimauth -a -u $(PEGASUS_TEST_USER_ID) -n test1/test2/test3/test4/test5/test6 -R -W
 ifeq ($(PEGASUS_ENABLE_PRIVILEGE_SEPARATION),true)
-       cimauth -a -u pegasus -n root/cimv2 -R -W
+       cimauth -a -u $(PEGASUS_CIMSERVERMAIN_USER) -n root/cimv2 -R -W
 endif
 
 startcimWithoutSSL: FORCE
@@ -1237,3 +1424,99 @@ startcimWithSSL: FORCE
        $(MAKE) --directory=$(PEGASUS_ROOT) -f TestMakefile -i cimstart CIMSERVER_CONFIG_OPTIONS="enableHttpConnection=false enableHttpsConnection=true"
        $(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)"