From 58d904a328c0d849769b483e901a0be9426b8209 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 20 七月 2021 20:20:44 +0800
Subject: [PATCH] 调整Request C.BHFree的位置

---
 utest/simple_tests.cpp |   65 +++++++++-----------------------
 1 files changed, 18 insertions(+), 47 deletions(-)

diff --git a/utest/simple_tests.cpp b/utest/simple_tests.cpp
index 06093fd..c7f277c 100644
--- a/utest/simple_tests.cpp
+++ b/utest/simple_tests.cpp
@@ -29,33 +29,19 @@
 	SharedMemory shm(shm_name, 1024 * 1024 * 10);
 	auto Avail = [&]() { return shm.get_free_memory(); };
 
-	offset_ptr<const void> p;
-	BOOST_CHECK(!p);
-	BOOST_CHECK(p.get() == 0);
-	p = 0;
-	BOOST_CHECK(!p);
-	BOOST_CHECK(p.get() == 0);
-	const char *str = "basic";
-	p               = str;
-	BOOST_CHECK(p);
-	BOOST_CHECK(p.get() == str);
-	p = 0;
-	BOOST_CHECK(!p);
-	BOOST_CHECK(p.get() == 0);
-
 	auto init_avail = Avail();
 
 	auto BasicTest = [&](int tid, int nloop) {
 		auto Code = [&](int id) {
-			typedef ShmObject<s1000> Int;
+			typedef NamedShmObject<s1000> Int;
 			std::string name = std::to_string(id);
-			auto a0          = Avail();
-			Int i1(shm, name);
+			auto a0 = Avail();
+			Int i1(shm, name, eOpenOrCreate);
 			auto a1 = Avail();
 			BOOST_CHECK_LT(a1, a0);
 			printf("s1000 size: %ld\n", a0 - a1);
 			i1->a[0] = 5;
-			Int i2(shm, name);
+			Int i2(shm, name, eOpenOrCreate);
 			auto a2 = Avail();
 			BOOST_CHECK_EQUAL(a1, a2);
 			BOOST_CHECK_EQUAL(i1.data(), i2.data());
@@ -64,7 +50,7 @@
 
 			{
 				auto old = Avail();
-				void *p  = shm.Alloc(1024);
+				void *p = shm.Alloc(1024);
 				shm.Dealloc(p);
 				BOOST_CHECK_EQUAL(old, Avail());
 			}
@@ -80,7 +66,7 @@
 	// boost::timer::auto_cpu_timer timer;
 	ThreadManager threads;
 	int nthread = 1;
-	int nloop   = 1;
+	int nloop = 1;
 	for (int i = 0; i < nthread; ++i) {
 		threads.Launch(BasicTest, i, nloop);
 	}
@@ -104,37 +90,22 @@
 	}
 }
 
-BOOST_AUTO_TEST_CASE(TimedWaitTest)
-{
-	const std::string shm_name("shm_wait");
-	ShmRemover auto_remove(shm_name);
-	SharedMemory shm(shm_name, 1024 * 1024);
-	ShmMsgQueue q(shm, 64);
-	for (int i = 0; i < 2; ++i) {
-		int ms = i * 100;
-		printf("Timeout Test %4d: ", ms);
-		boost::timer::auto_cpu_timer timer;
-		BHMsg msg;
-		bool r = q.Recv(msg, ms);
-		BOOST_CHECK(!r);
-	}
-}
-
 BOOST_AUTO_TEST_CASE(RefCountTest)
 {
-	const std::string shm_name("ShmRefCount");
-	ShmRemover auto_remove(shm_name);
-	SharedMemory shm(shm_name, 1024 * 1024);
+	SharedMemory &shm = TestShm();
+	typedef MsgI Msg;
+	GlobalInit(shm);
 
-	MsgI m0(shm.Alloc(1000), shm.New<RefCount>());
-	BOOST_CHECK(m0.IsCounted());
+	Msg m0(1000, shm);
+	BOOST_CHECK(!m0.valid());
+	m0.Make(100);
 	BOOST_CHECK_EQUAL(m0.Count(), 1);
-	MsgI m1 = m0;
-	BOOST_CHECK(m1.IsCounted());
+	Msg m1 = m0;
+	BOOST_CHECK(m1.valid());
 	BOOST_CHECK_EQUAL(m1.AddRef(), 2);
 	BOOST_CHECK_EQUAL(m0.AddRef(), 3);
-	BOOST_CHECK_EQUAL(m0.Release(shm), 2);
-	BOOST_CHECK_EQUAL(m0.Release(shm), 1);
-	BOOST_CHECK_EQUAL(m1.Release(shm), 0);
-	BOOST_CHECK(!m1.IsCounted());
+	BOOST_CHECK_EQUAL(m0.Release(), 2);
+	BOOST_CHECK_EQUAL(m0.Release(), 1);
+	BOOST_CHECK_EQUAL(m1.Release(), 0);
+	BOOST_CHECK(!m1.valid());
 }

--
Gitblit v1.8.0