const CIMKeyBinding& kb2)
{
int rtn;
- if ((rtn = _compareCIMNames(kb1.getName(), kb2.getName())) != 0)
- {
- return rtn;
- }
- switch (kb1.getType())
+
+ if ((rtn = _compareCIMNames(kb1.getName(), kb2.getName())) == 0)
{
- case CIMKeyBinding::REFERENCE:
- // Convert to paths and recurse through compare.
- try
- {
- CIMObjectPath p1(kb1.getValue());
- CIMObjectPath p2(kb2.getValue());
- return _compareObjectPaths(p1,p2);
- }
- catch (Exception&)
- {
- // ignore if parsing fails
- cerr << "Reference Path parsing failed" << endl;
- return 0;
- }
- break;
-
- case CIMKeyBinding::BOOLEAN:
- // Compare as no case strings
- return String::compareNoCase(kb1.getValue(), kb1.getValue());
- break;
-
- case CIMKeyBinding::NUMERIC:
- // convert to numeric values and compare
- Uint64 uValue1;
- Sint64 sValue1;
- if (StringConversion::stringToUnsignedInteger(
- kb1.getValue().getCString(),
- uValue1))
- {
- Uint64 uValue2;
- if (StringConversion::stringToUnsignedInteger(
- kb2.getValue().getCString(),
- uValue2))
+ switch (kb1.getType())
+ {
+ case CIMKeyBinding::REFERENCE:
+ // Convert to paths and recurse through compare.
+ try
{
- return(uValue2 - uValue1);
+ CIMObjectPath p1(kb1.getValue());
+ CIMObjectPath p2(kb2.getValue());
+ rtn = _compareObjectPaths(p1,p2);
}
- else
+ catch (Exception&)
{
- // ignore error where we cannot convert both
- return 0;
+ // ignore if parsing fails
+ cerr << "Reference Path parsing failed" << endl;
+ rtn = 0;
}
- }
- // Next try converting to signed integer
- else if (StringConversion::stringToSignedInteger(
- kb1.getValue().getCString(),
- sValue1))
- {
- Sint64 sValue2;
- if (StringConversion::stringToSignedInteger(
- kb2.getValue().getCString(),
- sValue1))
+ break;
+
+ case CIMKeyBinding::BOOLEAN:
+ // Compare as no case strings
+ rtn = String::compareNoCase(kb1.getValue(), kb1.getValue());
+ break;
+
+ case CIMKeyBinding::NUMERIC:
+ // convert to numeric values and compare
+ Uint64 uValue1;
+ Sint64 sValue1;
+ if (StringConversion::stringToUnsignedInteger(
+ kb1.getValue().getCString(),
+ uValue1))
{
- return (sValue2 - sValue1);
+ Uint64 uValue2;
+ if (StringConversion::stringToUnsignedInteger(
+ kb2.getValue().getCString(),
+ uValue2))
+ {
+ rtn = (uValue2 - uValue1);
+ }
+ else
+ {
+ // ignore error where we cannot convert both
+ rtn = 0;
+ }
}
- else
+ // Next try converting to signed integer
+ else if (StringConversion::stringToSignedInteger(
+ kb1.getValue().getCString(),
+ sValue1))
{
- return 0;
+ Sint64 sValue2;
+ if (StringConversion::stringToSignedInteger(
+ kb2.getValue().getCString(),
+ sValue2))
+ {
+ rtn = (sValue2 - sValue1);
+ }
+ else
+ {
+ rtn = 0;
+ }
}
- }
- break;
- default:
- // no conversion required. Compare as Strings.
- return String::compare(kb1.getValue(), kb1.getValue());
- break;
+ break;
+ default:
+ // no conversion required. Compare as Strings.
+ rtn = String::compare(kb1.getValue(), kb2.getValue());
+ break;
+ }
}
-}
-static inline int _comparekeybindings(const void* p1, const void* p2)
-{
- const CIMKeyBinding* kb1 = (const CIMKeyBinding*)p1;
- const CIMKeyBinding* kb2 = (const CIMKeyBinding*)p2;
-
- return String::compareNoCase(
- kb1->getName().getString(),
- kb2->getName().getString());
+ return rtn;
}
/*
@$(ECHO) +++++ Test objectcountertests Passed.
+##
+## Confirm the sort of instances and instance Paths responses
+##
+SortInstancesTest:
+ @$(ECHO) 21. +++++ SortInstancesTest
+ @$(ECHO) 21. +++++ SortInstancesTest >> $(RESULTFILE)
+ @cimcli ci -n "$(PROVIDERNS)" Test_CLITestProviderClass \
+ Id=Zed Name=Futz
+ @cimcli ci -n "$(PROVIDERNS)" Test_CLITestProviderClass \
+ Id=Norman Name=Susan
+ @cimcli ci -n "$(PROVIDERNS)" Test_CLITestProviderClass \
+ Id=Thomas Name=Peter
+ @cimcli ci -n "$(PROVIDERNS)" Test_CLITestProviderClass \
+ Id=Fred Name=Jones
+ @cimcli ci -n "$(PROVIDERNS)" Test_CLITestProviderClass \
+ Id=Judy Name=blah
+ @cimcli ci -n "$(PROVIDERNS)" Test_CLITestProviderClass \
+ Id=Andy Name=Blue
+ @cimcli ni -n "$(PROVIDERNS)" Test_CLITestProviderClass --sort \
+ >>$(RESULTFILE)
+ @cimcli ei -n "$(PROVIDERNS)" Test_CLITestProviderClass --sort \
+ -pl Id,Name \
+ >>$(RESULTFILE)
+
+ @cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Zed\"
+ @cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Norman\"
+ @cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Thomas\"
+ @cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Fred\"
+ @cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Judy\"
+ @cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Andy\"
+
+ @$(ECHO) +++++ Test SortInstancesTest Passed.
+
## Test Enumerate Classes and Enumerate ClassNames
enumerateClasses:
- @$(ECHO) 21. +++++ Test For enumerateClasses
- @$(ECHO) 21. +++++ Test For enumerateClasses >> $(RESULTFILE)
+ @$(ECHO) 22. +++++ Test For enumerateClasses
+ @$(ECHO) 22. +++++ Test For enumerateClasses >> $(RESULTFILE)
## test enumerate classes with our known class to assure
## defined output
@cimcli nc -n "$(STATICNS)" >> $(RESULTFILE)
- @$(ECHO) 21. +++++ Test enumerateClasses
+ @$(ECHO) 22. +++++ Test enumerateClasses
### Execute the set of test targets defined below
poststarttests:
## see Bug 8690
####$(MAKE) namespacetests
$(MAKE) objectcountertests
+ $(MAKE) SortInstancesTest
$(MAKE) enumerateClasses
@$(ECHO) +++++ Compare Result files
### reinitialized (server restarted or provider reloaded)
clean:
## remove any existing instances
+ -@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Zed\"
+ -@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Norman\"
+ -@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Thomas\"
+ -@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Fred\"
+ -@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Judy\"
+ -@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass.Id=\"Andy\"
-@cimcli di -n "$(PROVIDERNS)" \
- Test_CLITestProviderClass.Id=\"Norman\"
- -@cimcli di -n "$(PROVIDERNS)" \
- Test_CLITestProviderClass.Id=\"Thomas\"
- -@cimcli di -n "$(PROVIDERNS)" \
- Test_CLITestProviderClass.Id=\"ScalarTest\"
+ Test_CLITestProviderClass.Id=\"ScalarTest\"
-@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass Id=arrayTest
-@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass Id=stringTest
-@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass \
-@cimcli di -n "$(PROVIDERNS)" Test_CLITestProviderClass \
Id="EmptyStringTest"
-@cimcli im Test_CLITestProviderClass -n "$(PROVIDERNS)" \
- resetProviderParameters
-
+ resetProviderParameters
+
## Remove the result files
-@$(RM) $(RESULTFILE)
-@$(RM) $(TABLEFORMATFILE)
cimcli im Test_CLITestProviderClass -n "$(PROVIDERNS)" \
resetProviderParameters
+a:
+ cimcli r Test_CLITestProviderClass.Id=\"Mike\" -n "$(PROVIDERNS)" \
+ --setRtnHostNames "blah" -v
+
# END_OF_FILE
1 referenceNames Test_CLITestProviderClass returned.
Failed referenceNames count test. Expected= 10 Received= 1
Return Value= 0
-21. +++++ Test For enumerateClasses
+21. +++++ SortInstancesTest
+Test_CLITestProviderClass.Id="Andy"
+Test_CLITestProviderClass.Id="Fred"
+Test_CLITestProviderClass.Id="Judy"
+Test_CLITestProviderClass.Id="Mike"
+Test_CLITestProviderClass.Id="Norman"
+Test_CLITestProviderClass.Id="Thomas"
+Test_CLITestProviderClass.Id="Zed"
+path= Test_CLITestProviderClass.Id="Andy"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Andy";
+Name = "Blue";
+};
+path= Test_CLITestProviderClass.Id="Fred"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Fred";
+Name = "Jones";
+};
+path= Test_CLITestProviderClass.Id="Judy"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Judy";
+Name = "blah";
+};
+path= Test_CLITestProviderClass.Id="Mike"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Mike";
+Name = "Bob";
+};
+path= Test_CLITestProviderClass.Id="Norman"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Norman";
+Name = "Susan";
+};
+path= Test_CLITestProviderClass.Id="Thomas"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Thomas";
+Name = "Peter";
+};
+path= Test_CLITestProviderClass.Id="Zed"
+
+//Instance of Test_CLITestProviderClass
+instance of Test_CLITestProviderClass
+{
+Id = "Zed";
+Name = "Futz";
+};
+22. +++++ Test For enumerateClasses
CIM_ReplaceableProductFRU
CIM_ElementCapabilities
WET_RelatedStatistics