ASSERT_TRUE(ns != nullptr);
ASSERT_LT(0U, sidecarSize(ns.get()));
- struct sidecar_enabled *enabled
- = (struct sidecar_enabled *)aligned_zmalloc(sidecarEnabledSize(ns.get()));
- ASSERT_TRUE(enabled);
- sidecarEnabledInit(ns.get(), enabled);
- struct sidecar_scratch *scratch
- = (struct sidecar_scratch *)aligned_zmalloc(sidecarScratchSize(ns.get()));
+ auto enabled =
+ aligned_zmalloc_unique<sidecar_enabled>(sidecarEnabledSize(ns.get()));
+ sidecarEnabledInit(ns.get(), enabled.get());
+ auto scratch =
+ aligned_zmalloc_unique<sidecar_scratch>(sidecarScratchSize(ns.get()));
for (u32 i = 0; i < 256; i++) {
SCOPED_TRACE(i);
u32 seen = 0;
memset(data, i, data_len);
- sidecarExec(ns.get(), data, data_len, enabled, scratch, 0, ns_cb, &seen);
+ sidecarExec(ns.get(), data, data_len, enabled.get(), scratch.get(), 0,
+ ns_cb, &seen);
ASSERT_EQ(0U, seen);
}
- sidecarEnabledAdd(ns.get(), enabled, 0);
+ sidecarEnabledAdd(ns.get(), enabled.get(), 0);
for (u32 i = 0; i < 256; i++) {
SCOPED_TRACE(i);
u32 seen = 0;
memset(data, i, data_len);
- sidecarExec(ns.get(), data, data_len, enabled, scratch, 0, ns_cb, &seen);
+ sidecarExec(ns.get(), data, data_len, enabled.get(), scratch.get(), 0,
+ ns_cb, &seen);
if (i == 'f') {
ASSERT_EQ(1U, seen);
} else {
ASSERT_EQ(0U, seen);
}
}
-
- aligned_free(enabled);
- aligned_free(scratch);
}
const char* sidecarStrings[] = {
ASSERT_TRUE(ns != nullptr);
ASSERT_LT(0U, sidecarSize(ns.get()));
- struct sidecar_enabled *enabled
- = (struct sidecar_enabled *)aligned_zmalloc(sidecarEnabledSize(ns.get()));
- ASSERT_TRUE(enabled);
- sidecarEnabledInit(ns.get(), enabled);
- struct sidecar_enabled *local_enabled
- = (struct sidecar_enabled *)aligned_zmalloc(sidecarEnabledSize(ns.get()));
- struct sidecar_scratch *scratch
- = (struct sidecar_scratch *)aligned_zmalloc(sidecarScratchSize(ns.get()));
+ auto enabled =
+ aligned_zmalloc_unique<sidecar_enabled>(sidecarEnabledSize(ns.get()));
+ sidecarEnabledInit(ns.get(), enabled.get());
+ auto local_enabled =
+ aligned_zmalloc_unique<sidecar_enabled>(sidecarEnabledSize(ns.get()));
+ auto scratch =
+ aligned_zmalloc_unique<sidecar_scratch>(sidecarScratchSize(ns.get()));
const size_t data_len = 1024;
u8 data[data_len];
SCOPED_TRACE(i);
memset(data, i, data_len);
set<u32> seen;
- sidecarExec(ns.get(), data, data_len, enabled, scratch, 0, set_cb, &seen);
+ sidecarExec(ns.get(), data, data_len, enabled.get(), scratch.get(), 0,
+ set_cb, &seen);
ASSERT_TRUE(seen.empty());
}
SCOPED_TRACE(c);
// build a "compile time" enabled structure and add class j to it.
- sidecarEnabledInit(ns.get(), local_enabled);
- sidecarEnabledAdd(ns.get(), local_enabled, j);
+ sidecarEnabledInit(ns.get(), local_enabled.get());
+ sidecarEnabledAdd(ns.get(), local_enabled.get(), j);
// union class j into our runtime enabled structure.
- sidecarEnabledUnion(ns.get(), enabled, local_enabled);
+ sidecarEnabledUnion(ns.get(), enabled.get(), local_enabled.get());
for (u32 i = 0; i < 256; i++) {
SCOPED_TRACE(i);
memset(data, i, data_len);
set<u32> seen;
- sidecarExec(ns.get(), data, data_len, enabled, scratch, 0, set_cb, &seen);
+ sidecarExec(ns.get(), data, data_len, enabled.get(), scratch.get(),
+ 0, set_cb, &seen);
if (i == c) {
ASSERT_EQ(1U, seen.size());
ASSERT_EQ(j, *seen.begin());
}
}
}
-
- aligned_free(local_enabled);
- aligned_free(enabled);
- aligned_free(scratch);
}
TEST_P(SidecarTest, Together) {
ASSERT_TRUE(ns != nullptr);
ASSERT_LT(0U, sidecarSize(ns.get()));
- struct sidecar_enabled *enabled
- = (struct sidecar_enabled *)aligned_zmalloc(sidecarEnabledSize(ns.get()));
- ASSERT_TRUE(enabled);
- struct sidecar_enabled *local_enabled
- = (struct sidecar_enabled *)aligned_zmalloc(sidecarEnabledSize(ns.get()));
- struct sidecar_scratch *scratch
- = (struct sidecar_scratch *)aligned_zmalloc(sidecarScratchSize(ns.get()));
+ auto enabled =
+ aligned_zmalloc_unique<sidecar_enabled>(sidecarEnabledSize(ns.get()));
+ sidecarEnabledInit(ns.get(), enabled.get());
+ auto local_enabled =
+ aligned_zmalloc_unique<sidecar_enabled>(sidecarEnabledSize(ns.get()));
+ auto scratch =
+ aligned_zmalloc_unique<sidecar_scratch>(sidecarScratchSize(ns.get()));
const size_t data_len = 1024;
u8 data[data_len];
SCOPED_TRACE(i);
memset(data, i, data_len);
set<u32> seen;
- sidecarExec(ns.get(), data, data_len, enabled, scratch, 0, set_cb, &seen);
+ sidecarExec(ns.get(), data, data_len, enabled.get(), scratch.get(), 0,
+ set_cb, &seen);
ASSERT_TRUE(seen.empty());
}
// test that every char class fires
for (u32 j = 0; j < charclasses.size(); j++) {
// enable the whole lot
- sidecarEnabledInit(ns.get(), enabled);
+ sidecarEnabledInit(ns.get(), enabled.get());
for (u32 i = 0; i < charclasses.size(); i++) {
// build a "compile time" enabled structure and add class j to it.
- sidecarEnabledInit(ns.get(), local_enabled);
- sidecarEnabledAdd(ns.get(), local_enabled, i);
+ sidecarEnabledInit(ns.get(), local_enabled.get());
+ sidecarEnabledAdd(ns.get(), local_enabled.get(), i);
// union class j into our runtime enabled structure.
- sidecarEnabledUnion(ns.get(), enabled, local_enabled);
+ sidecarEnabledUnion(ns.get(), enabled.get(), local_enabled.get());
}
u32 c = chars[j];
SCOPED_TRACE(i);
memset(data, i, data_len);
set<u32> seen;
- sidecarExec(ns.get(), data, data_len, enabled, scratch, 0, set_cb, &seen);
+ sidecarExec(ns.get(), data, data_len, enabled.get(), scratch.get(),
+ 0, set_cb, &seen);
if (i == c) {
// seen should contain only `c'
ASSERT_EQ(1U, seen.size());
}
}
}
-
- aligned_free(local_enabled);
- aligned_free(enabled);
- aligned_free(scratch);
}
INSTANTIATE_TEST_CASE_P(Sidecar, SidecarTest,