summaryrefslogtreecommitdiffstats
path: root/src/usr/testcore
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2012-08-07 15:42:05 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-08-15 12:27:55 -0500
commiteedc0bb29e002418c53a13a96030a980a4f6b26b (patch)
treed09470895bb63ff41dc531049d095408d7bc93bc /src/usr/testcore
parenta346e4fa854de69dcd6a0ebfddf4c5530a175504 (diff)
downloadtalos-hostboot-eedc0bb29e002418c53a13a96030a980a4f6b26b.tar.gz
talos-hostboot-eedc0bb29e002418c53a13a96030a980a4f6b26b.zip
Additional needed utilities for PRD port.
Implement assorted utilities and STL templates for the port of existing PRD code from FSP: * strcat / strncat * std::generate_n * std::transform * std::back_inserter RTC: 44531 Change-Id: I9992f78222cbc2f74da15eea74c9b2cad602ad59 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1501 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/testcore')
-rw-r--r--src/usr/testcore/lib/string.H91
1 files changed, 91 insertions, 0 deletions
diff --git a/src/usr/testcore/lib/string.H b/src/usr/testcore/lib/string.H
new file mode 100644
index 000000000..fb6906166
--- /dev/null
+++ b/src/usr/testcore/lib/string.H
@@ -0,0 +1,91 @@
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/usr/testcore/lib/string.H $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
+#ifndef __TESTCORE_LIB_STRING_H
+#define __TESTCORE_LIB_STRING_H
+
+#include <string.h>
+
+/** @file string.H
+ * @brief Test cases for the string.h system library header.
+ */
+
+class StringTest : public CxxTest::TestSuite
+{
+ private:
+ static const char * string1;
+ static const char * string2;
+
+ public:
+ /**
+ * Tests for strcat.
+ */
+ void testStrcat()
+ {
+ char a[64];
+
+ size_t len1 = strlen(string1);
+
+ strcpy(a, string1);
+ strcat(a, string2);
+
+ if (0 != memcmp(a, string1, len1))
+ {
+ TS_FAIL("strcat: String1 contents not copied properly.");
+ }
+ if (0 != strcmp(&a[len1], string2))
+ {
+ TS_FAIL("strcat: String2 contents not cat'd properly.");
+ }
+ }
+
+ /**
+ * Tests for strncat.
+ */
+ void testStrncat()
+ {
+ char a[64];
+ memset(a, '\0', sizeof(a));
+
+ size_t len1 = strlen(string1);
+
+ strcpy(a, string1);
+ strncat(a, string2, 7);
+
+ if (0 != memcmp(a, string1, len1))
+ {
+ TS_FAIL("strncat: String1 contents not copied properly.");
+ }
+ if (0 != strcmp(&a[len1], "Another"))
+ {
+ TS_FAIL("strncat: String2 contents not cat'd properly.");
+ }
+
+ }
+};
+
+const char * StringTest::string1 = "This is a string.";
+const char * StringTest::string2 = "Another string am I.";
+
+
+#endif
OpenPOWER on IntegriCloud