From a6f67b4249525089fb97eb9418c7014f66c2a000 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期三, 28 四月 2021 19:29:17 +0800
Subject: [PATCH] use new robust mutex, circurar; rm timeout mutex.

---
 utest/utest.cpp |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/utest/utest.cpp b/utest/utest.cpp
index b2de97f..d8dae45 100644
--- a/utest/utest.cpp
+++ b/utest/utest.cpp
@@ -2,15 +2,20 @@
 #include "defs.h"
 #include "util.h"
 #include <atomic>
-#include <boost/uuid/uuid_generators.hpp>
-#include <boost/uuid/uuid_io.hpp>
 #include <condition_variable>
 #include <stdio.h>
 #include <string>
 #include <thread>
 #include <vector>
 
+using namespace bhome_shm;
 using namespace bhome_msg;
+
+SharedMemory &TestShm()
+{
+	static SharedMemory shm("utest_0", 1024 * 1024 * 512);
+	return shm;
+}
 
 template <class A, class B>
 struct IsSameType {
@@ -84,13 +89,12 @@
 
 BOOST_AUTO_TEST_CASE(PubSubTest)
 {
-	const std::string shm_name("ShmPubSub");
-	ShmRemover auto_remove(shm_name); //remove twice? in case of killed?
-	SharedMemory shm(shm_name, 1024 * 1024 * 50);
-	DEFER1(shm.Remove());
+	SharedMemory &shm = TestShm();
+	GlobalInit(shm);
+
 	auto Avail = [&]() { return shm.get_free_memory(); };
 	auto init_avail = Avail();
-	int *flag = shm.find_or_construct<int>("flag")(123);
+	int *flag = shm.FindOrCreate<int>("flag", 123);
 	printf("flag = %d\n", *flag);
 	++*flag;
 	const std::string sub_proc_id = "subscriber";
@@ -196,13 +200,12 @@
 
 BOOST_AUTO_TEST_CASE(ReqRepTest)
 {
-	const std::string shm_name("ShmReqRep");
-	ShmRemover auto_remove(shm_name);
-	SharedMemory shm(shm_name, 1024 * 1024 * 512);
+	SharedMemory &shm = TestShm();
+	GlobalInit(shm);
 
 	auto Avail = [&]() { return shm.get_free_memory(); };
 	auto init_avail = Avail();
-	int *flag = shm.find_or_construct<int>("flag")(123);
+	int *flag = shm.FindOrCreate<int>("flag", 123);
 	printf("flag = %d\n", *flag);
 	++*flag;
 
@@ -233,7 +236,7 @@
 		boost::timer::auto_cpu_timer timer;
 		for (int i = 0; i < nreq; ++i) {
 			std::string msg_id;
-			if (!client.ClientAsyncRequest(req, msg_id)) {
+			if (!client.ClientAsyncRequest(BHAddress(), req, msg_id)) {
 				printf("client request failed\n");
 				++count;
 			}

--
Gitblit v1.8.0