Make public yp2_filter_struct non-const. If not, the linker symbol
[metaproxy-moved-to-github.git] / src / test_session2.cpp
index 2a7a8ba..6e237ad 100644 (file)
@@ -1,3 +1,8 @@
+/* $Id: test_session2.cpp,v 1.6 2005-12-02 12:21:07 adam Exp $
+   Copyright (c) 2005, Index Data.
+
+%LICENSE%
+ */
 #include "config.hpp"
 #include "session.hpp"
 
@@ -17,13 +22,14 @@ boost::mutex io_mutex;
 class Worker 
 {
     public:
-        Worker(yp2::Session *session, int nr = 0) 
-            : m_session(session), m_nr(nr){};
+        Worker(int nr = 0) 
+            :  m_nr(nr){};
         
         void operator() (void) {
             for (int i=0; i < 100; ++i)
             {
-                m_id = m_session->id();   
+                yp2::Session session;
+                m_id = session.id();   
                 //print();
             }
         }
@@ -36,31 +42,32 @@ class Worker
         }
         
     private: 
-        yp2::Session *m_session;
         int m_nr;
         int m_id;
 };
 
 
 
-BOOST_AUTO_TEST_CASE( testsession2 ) 
+BOOST_AUTO_UNIT_TEST( testsession2 ) 
 {
 
     // test session 
     try {
-        yp2::Session session;
 
-        const int num_threads = 10;
+        const int num_threads = 100;
         boost::thread_group thrds;
         
+
         for (int i=0; i < num_threads; ++i)
         {
-            Worker w(&session, i);
+            // Notice that each Worker has it's own session object!
+            Worker w(i);
             thrds.add_thread(new boost::thread(w));
         }
         thrds.join_all();
 
-        BOOST_CHECK (session.id() == 1001);
+        yp2::Session session;
+        BOOST_CHECK (session.id() == 10001);
         
     }
     catch (std::exception &e) {
@@ -76,6 +83,7 @@ BOOST_AUTO_TEST_CASE( testsession2 )
  * Local variables:
  * c-basic-offset: 4
  * indent-tabs-mode: nil
+ * c-file-style: "stroustrup"
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab
  */