Skip to content

Commit b085ee8

Browse files
fix testcase errors on macOS.
1 parent 8741c0e commit b085ee8

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

src/test/sharedmemoryhash/sharedmemoryhash.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ void TestSharedMemoryHash::testAlloc4()
196196
smhash.set(key, "hoge", seconds);
197197
QVERIFY(!smhash.get(key).isEmpty()); // not empty
198198
qDebug() << "smhash.get(" << key << ") =" << smhash.get(key);
199-
Tf::msleep(seconds * 1000 + 1);
199+
Tf::msleep(seconds * 1000 + 20);
200200
auto val = smhash.get(key);
201201
QCOMPARE(val, QByteArray()); // timeout, empty
202202
}

src/tsharedmemorykvs.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,13 @@ TSharedMemoryKvs::~TSharedMemoryKvs()
8383
*/
8484
bool TSharedMemoryKvs::initialize(const QString &name, const QString &options)
8585
{
86-
hash_header_t hashheader;
87-
8886
TSharedMemoryKvsDriver::initialize(name, options);
8987
TSharedMemoryKvsDriver driver;
90-
driver.open(name, QString(), QString(), QString(), 0, options);
91-
hash_header_t *header = (hash_header_t *)driver.origin();
9288

93-
void *ptr = driver.malloc(sizeof(hashheader));
94-
Q_ASSERT(ptr == header);
95-
std::memcpy(header, &hashheader, sizeof(hashheader));
89+
driver.open(name, QString(), QString(), QString(), 0, options);
90+
void *ptr = driver.malloc(sizeof(hash_header_t));
91+
hash_header_t *header = new (ptr) hash_header_t{}; // Initialize with the default constructor
92+
Q_ASSERT(header == (hash_header_t *)driver.origin());
9693
ptr = driver.calloc(header->tableSize, sizeof(uintptr_t));
9794
header->setHashg(ptr);
9895
Q_ASSERT(ptr);

0 commit comments

Comments
 (0)