summaryrefslogtreecommitdiff
path: root/server/src/transactionparser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/transactionparser.cc')
-rw-r--r--server/src/transactionparser.cc73
1 files changed, 30 insertions, 43 deletions
diff --git a/server/src/transactionparser.cc b/server/src/transactionparser.cc
index 7595bb2..b33cac6 100644
--- a/server/src/transactionparser.cc
+++ b/server/src/transactionparser.cc
@@ -106,6 +106,10 @@ void TransactionParser::parseError(const char *buf, size_t len,
}
#ifdef TEST_TRANSACTIONPARSER
+//deps: saxparser.cc debug.cc exception.cc log.cc
+//cflags: -I.. $(EXPAT_CFLAGS)
+//libs: $(EXPAT_LIBS)
+#include "test.h"
static char xml_minimal[] =
"<?xml version='1.0' encoding='UTF-8'?>\n"
@@ -137,53 +141,36 @@ static char xml_fail[] =
"</pracro>\n"
;
-int main()
-{
- // Test minimal
- try {
- Transaction transaction;
- TransactionParser parser(&transaction);
- parser.parse(xml_minimal, strlen(xml_minimal));
- } catch(Exception &e) {
- printf("ERROR: %s\n", e.what());
- return 1;
- }
-
- // Test request
- try {
- Transaction transaction;
- TransactionParser parser(&transaction);
- parser.parse(xml_request, strlen(xml_request));
- } catch(Exception &e) {
- printf("ERROR: %s\n", e.what());
- return 1;
- }
+TEST_BEGIN;
- // Test commit
- try {
- Transaction transaction;
- TransactionParser parser(&transaction);
- parser.parse(xml_commit, strlen(xml_commit));
- } catch(Exception &e) {
- printf("ERROR: %s\n", e.what());
- return 1;
- }
+// Test minimal
+{
+ Transaction transaction;
+ TransactionParser parser(&transaction);
+ TEST_NOEXCEPTION(parser.parse(xml_minimal, sizeof(xml_minimal)-1), "minimal");
+}
- // Test parse error (should throw an exception)
- try {
- Transaction transaction;
- TransactionParser parser(&transaction);
- parser.parse(xml_fail, strlen(xml_fail));
- } catch(Exception &e) {
- printf("ERROR: %s\n", e.what());
- goto onandon;
- }
- printf("We should fail here...\n");
- return 1;
+// Test request
+{
+ Transaction transaction;
+ TransactionParser parser(&transaction);
+ TEST_NOEXCEPTION(parser.parse(xml_request, sizeof(xml_request)-1), "request");
+}
- onandon:
+// Test commit
+{
+ Transaction transaction;
+ TransactionParser parser(&transaction);
+ TEST_NOEXCEPTION(parser.parse(xml_commit, sizeof(xml_commit)-1), "commit");
+}
- return 0;
+// Test parse error (should throw an exception)
+{
+ Transaction transaction;
+ TransactionParser parser(&transaction);
+ TEST_EXCEPTION(parser.parse(xml_fail, sizeof(xml_fail)-1), std::exception, "parse error");
}
+TEST_END;
+
#endif/*TEST_TRANSACTIONPARSER*/