def test_find_different_struct_types(shmem):
    create_struct_with_offset_ptr_in_shared_memory(shmem, unique_instance, 10)
    create_struct_with_double_in_shared_memory(shmem, unique_instance)

    f1 = shmem.find(struct_with_offset_ptr, unique_instance)
    f2 = shmem.find(struct_with_double, unique_instance)

    assert type(f2) == struct_with_double
    assert type(f1) == struct_with_offset_ptr
def test_find_with_struct_using_pointer(shmem):
    original_struct = create_struct_with_offset_ptr_in_shared_memory(shmem, unique_instance, 10)
    original_arr = np.frombuffer(original_struct.ptr.asbuffer(8), dtype=np.float64)
    original_arr.fill(-1.0)

    find_struct = shmem.find(struct_with_offset_ptr, unique_instance)
    find_arr = np.frombuffer(find_struct.ptr.asbuffer(8), dtype=np.float64)

    assert find_arr[0] == original_arr[0] == -1.0
Ejemplo n.º 3
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