去除internel 访问级别
This commit is contained in:
@@ -196,12 +196,23 @@ int main() {
|
||||
REQUIRE(erased.runtime_object_type() == typeid(Device));
|
||||
REQUIRE(erased.runtime_property_count() == 5);
|
||||
int runtime_value = 0;
|
||||
REQUIRE(erased.runtime_read("temperature", &runtime_value, &runtime_read_int) == Runtime_Access_Result::ok);
|
||||
REQUIRE(runtime_value == 30);
|
||||
int intrinsic_runtime_write_value = 34;
|
||||
REQUIRE(erased.runtime_write("immutable_id", typeid(int), &intrinsic_runtime_write_value) == Runtime_Access_Result::ok);
|
||||
REQUIRE(device.immutable_id == 34);
|
||||
REQUIRE(erased.runtime_read(Managed_Access_Mode::external, "temperature", &runtime_value, &runtime_read_int) == Runtime_Access_Result::ok);
|
||||
REQUIRE(runtime_value == 30);
|
||||
int runtime_write_value = 35;
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::external, "temperature", typeid(int), &runtime_write_value) == Runtime_Access_Result::ok);
|
||||
REQUIRE(device.temperature == 35);
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::external, "immutable_id", typeid(int), &runtime_write_value) == Runtime_Access_Result::not_writable);
|
||||
int persistence_write_value = 102;
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::persistence, "pressure", typeid(int), &persistence_write_value) == Runtime_Access_Result::ok);
|
||||
REQUIRE(device.pressure == 102);
|
||||
REQUIRE(erased.runtime_read(Managed_Access_Mode::persistence, "immutable_id", &runtime_value, &runtime_read_int) == Runtime_Access_Result::ok);
|
||||
REQUIRE(runtime_value == 34);
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::persistence, "immutable_id", typeid(int), &persistence_write_value) == Runtime_Access_Result::not_writable);
|
||||
double wrong_type = 1.0;
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::external, "temperature", typeid(double), &wrong_type) == Runtime_Access_Result::type_mismatch);
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::external, "missing", typeid(int), &runtime_write_value) == Runtime_Access_Result::unknown_property);
|
||||
@@ -213,7 +224,7 @@ int main() {
|
||||
auto guard = device.lock_unique<&Device::temperature>();
|
||||
runtime_writer = std::jthread([&] {
|
||||
int value = 36;
|
||||
REQUIRE(erased.runtime_write(Managed_Access_Mode::external, "temperature", typeid(int), &value) == Runtime_Access_Result::ok);
|
||||
REQUIRE(erased.runtime_write("temperature", typeid(int), &value) == Runtime_Access_Result::ok);
|
||||
runtime_blocked_done.release();
|
||||
});
|
||||
REQUIRE(!runtime_blocked_done.try_acquire_for(std::chrono::milliseconds(20)));
|
||||
|
||||
Reference in New Issue
Block a user