(file) Return to README CVS log (file) (dir) Up to [Pegasus] / pegasus / test / TestProviders / TimingTests

File: [Pegasus] / pegasus / test / TestProviders / TimingTests / README (download)
Revision: 1.1, Tue Feb 17 15:20:02 2004 UTC (20 years, 4 months ago) by s.soni
Branch: MAIN
CVS Tags: pegasus25BeforeLicenseUpdate, STABLE, SLPPERFINST-root, SLPPERFINST-branch, RELEASE_2_5_0-RC1, RELEASE_2_5_0, RELEASE_2_4_FC_CANDIDATE_1, RELEASE_2_4_3, RELEASE_2_4_2, RELEASE_2_4_1-BETA3, RELEASE_2_4_1-BETA2, RELEASE_2_4_1-BETA1, RELEASE_2_4_1, RELEASE_2_4_0-RC3, RELEASE_2_4_0-RC2, RELEASE_2_4_0, RELEASE_2_4-root, RELEASE_2_4-branch, RELEASE_2_3_2-branch-freeze, PEP244_ServerProfile-root, PEP244_ServerProfile-branch, PEP233_EmbeddedInstSupport-root, PEP217_PRE_BRANCH, PEP217_POST_BRANCH, PEP217_BRANCH, PEP214ROOT, PEP214BRANCH, PEP214-root, PEP214-branch, PEP213_SIZE_OPTIMIZATIONS, PEP-214B-root, PEGASUS_2_5_0_PerformanceDev-string-end, PEGASUS_2_5_0_PerformanceDev-rootlt, PEGASUS_2_5_0_PerformanceDev-root, PEGASUS_2_5_0_PerformanceDev-r2, PEGASUS_2_5_0_PerformanceDev-r1, PEGASUS_2_5_0_PerformanceDev-lit-end, PEGASUS_2_5_0_PerformanceDev-buffer-end, PEGASUS_2_5_0_PerformanceDev-branch, PEGASUS_2_5_0_PerformanceDev-AtomicInt-branch, PEG25_IBM_5_16_05, NPEGASUS_2_5_0_PerformanceDev-String-root, NNPEGASUS_2_5_0_PerformanceDev-String-branch, MONITOR_CONSOLIDATION_2_5_BRANCH, IBM_241_April1405, CQL_2_5_BRANCH, CHUNKTESTDONE_PEP140, BUG_4225_PERFORMANCE_VERSION_1_DONE
Branch point for: PEP233_EmbeddedInstSupport-branch
Test Provider for pegasus as explained in PEP#121

Timing Related Testing
----------------------

This directory contains the sample provider for timing related test cases.
Its an attempt to find out any inconsistencies in the provider load/unload 
(if any) logic.The ideal test case requires that a provider unloads when
another client is invoking enumerate instances for a provider class and 
vice versa. It is quite difficult to create this kind of situation with this 
set of test programs. By running these tests for long hours we might hit some 
problem.

The files included in this test are:

1. TimingProvider.cpp - Provider classes implementation
2. TimingProvider.h - Header for the classes.
3. TimingProviderMain.cpp - Entry point to the provider
4. TimingProvider.mof - Class registration
5. TimingProviderR.mof - Timing provider registration

The provider implements the base class TimingSampleClass with 3 derived classes
TimeOne, TimeTwo, TimeThree.

The instances of the TimeOne and TimeTwo classes are created inside the 
TimingProvider:initialize method in the provider.

build
-----
Run this script to build the provider, compile the MOFs, register the provider,
compile the client program and finally restarting the cimserver.

Client 
------
Makefile.Client - Makefile for compiling TimingClient
TimingClient.cpp

This program tests the TimingProvider implemented by running multiple threads
performing different CIM operations.
main() forks and child calls EnumerateInstances for one class. The parent make
calls to EnumerateInstances and EnumerateClass.
Long sleeps are inserted between the calls to enumerateinstances and 
enumerateClasses.

testscript
----------
This script contains the combination of TimingClient and CLI client programs
with random sleeps inserted between them.
CLI is used to enumerate instances/ instancenames and enumerate classes for the
root/SampleProvider namespace created by the test provider.

Note: Please note, this test program is tested on intel x86 machines running
RedHat Linux 8.0 and AIX, and might not work on other platforms because of the
platform specific implementation of the system calls like fork(), sleep();

TODOS
-----
Currently the test case is tested on Linux and AIX and it needs to be ported
to the windows and other Non-unix platforms.

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2