more complex test
authorJens Thiele <jens.thiele@intra2net.com>
Tue, 21 Nov 2006 10:19:41 +0000 (10:19 +0000)
committerJens Thiele <jens.thiele@intra2net.com>
Tue, 21 Nov 2006 10:19:41 +0000 (10:19 +0000)
example-codegen/Makefile.am
example-codegen/client.cpp
example-codegen/server.hxx

index 4f80d48..dac66dc 100644 (file)
@@ -14,8 +14,10 @@ noinst_PROGRAMS = client server
 
 codegen.stamp: server.hxx $(top_builddir)/codegen/codegen
        cp $(top_srcdir)/codegen/codegen-stubhead.hxx codegen_common.hxx
-       gccxml $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) server.hxx -fxml=tmpserver.xml
-       $(top_builddir)/codegen/codegen tmpserver.xml codegen_
+       gccxml $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) server.hxx -fxml=server.xml
+       $(top_builddir)/codegen/codegen server.xml codegen_
        touch codegen.stamp
 
 codegen_common.hxx codegen_common.cpp codegen_client.hxx codegen_client.cpp codegen_server.cpp: codegen.stamp
+
+TESTS = test
index 6dee37e..10d2e52 100644 (file)
@@ -14,5 +14,9 @@ int main(int argc, char** argv)
   libt2n::socket_client_connection sc("./socket");
   cmd_group_default_client cc(sc);
 
-  return (cc.testfunc("hello")=="hello, testfunc() was here") ? EXIT_SUCCESS : EXIT_FAILURE;
+  return ( ( cc.testfunc("hello") == "hello, testfunc() was here" )
+          && ( cc.testfunc_ref("hello") == "hello, testfunc() was here" )
+          && ( cc.t2(10) == 10 )
+          && ( cc.t3(10, 20, "hello", std::pair<int, float>(10,20)) ) )
+    ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index 027e313..b20708b 100644 (file)
@@ -1,13 +1,23 @@
 #include <string>
 #include "codegen_common.hxx"
 
-using namespace std;
-
 LIBT2N_SET_DEFAULTGROUP(example);
 
 LIBT2N_EXPORT std::string testfunc(std::string str) 
 {
-    string ret;
+    std::string ret;
+    if (str=="throw")
+        throw libt2n::t2n_runtime_error("throw me around");
+    if (str=="big")
+        ret.insert(0,100*1024,'x');
+    else
+        ret=str+", testfunc() was here";
+    return ret;
+}
+
+LIBT2N_EXPORT std::string testfunc_ref(const std::string &str) 
+{
+    std::string ret;
     if (str=="throw")
         throw libt2n::t2n_runtime_error("throw me around");
     if (str=="big")
@@ -16,3 +26,15 @@ LIBT2N_EXPORT std::string testfunc(std::string str)
         ret=str+", testfunc() was here";
     return ret;
 }
+
+LIBT2N_EXPORT int t2(int i) 
+{
+    return i;
+}
+
+using namespace std;
+
+LIBT2N_EXPORT bool t3(int i, float f, const string &s, const pair<int, float> &p)
+{
+    return (i==p.first) && (f==p.second) && (s=="hello");
+}