def test_find_with_struct_using_double(shmem):
    shmem = managed_shared_memory(open_or_create, 'MySharedMemory', 1024)

    original_struct = create_struct_with_double_in_shared_memory(shmem, unique_instance)
    original_struct.value = 1.5

    find_struct = shmem.find(struct_with_double, unique_instance)
    assert find_struct.value == 1.5

    original_struct.value = 2.5
    assert find_struct.value == 2.5
Exemple #2
0
def test_exports_buffer_interface():
    import numpy as np

    shmem = managed_shared_memory(open_or_create, 'MySharedMemory', 1024)

    s = create_struct_with_offset_ptr_in_shared_memory(shmem, 'object name', 8)
    buf = s.ptr.asbuffer(8)
    arr = np.frombuffer(buf, dtype=np.float64)
    arr[0] = 42.0

    assert np.frombuffer(buf, dtype=np.float64)[0] == 42.0
def test_constructor_open_only():
    with pytest.raises(RuntimeError):
        managed_shared_memory(open_only, 'MySharedMemory')

    managed_shared_memory(create_only, 'MySharedMemory', 1024)
    managed_shared_memory(open_only, 'MySharedMemory')
def test_constructor_open_or_create():
    managed_shared_memory(open_or_create, 'MySharedMemory', 1024)
    managed_shared_memory(open_or_create, 'MySharedMemory', 1024)
def shmem():
    from pyboost_ipc import managed_shared_memory, open_or_create
    return managed_shared_memory(open_or_create, 'MySharedMemory', 8192)