File: test__posixshmem.py

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (24 lines) | stat: -rw-r--r-- 607 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pytest

_posixshmem = pytest.importorskip('_posixshmem')

import os
import mmap

def test_simple():
    mode = 0o600
    tmp_path = "/psm_%s" % (hex(id(hex)), ) # hack to get a uniquish path
    flags = os.O_RDWR | os.O_CREAT | os.O_EXCL
    fd = _posixshmem.shm_open(tmp_path, flags, mode)
    try:
        size = 1024
        os.ftruncate(fd, size)
        mem1 = mmap.mmap(fd, size)

        fd2 = _posixshmem.shm_open(tmp_path, flags & ~os.O_CREAT, mode)
        mem2 = mmap.mmap(fd2, size)
        mem1[0] = 14
        assert mem1[0] == 14
    finally:
        _posixshmem.shm_unlink(tmp_path)