Add new tests to check the correctness of the `-overcommit memlock` option (possible values: off, on, on-fault) by using `/proc/{qemu_pid}/smaps` file to check in Size, Rss and Locked fields of anonymous segments:
* if `memlock=off`, then Locked = 0 on every anonymous smaps; * if `memlock=on`, then Size, Rss and Locked values must be equal for every anon smaps where Rss is not 0; * if `memlock=on-fault`, then Rss and Locked must be equal on every anon smaps and anonymous segment with Rss < Size must exists. --- v4 -> v5: * refactor skipLockedMemoryTest decorator: using resource.getrlimit() function instead of spawning a process v3 -> v4: * add skipLockedMemoryTest decorator to skip test if system's locked memory limit is below the required threashold; * add to MemlockTest skipLockedMemoryTest decorator with 2 GB limit. v2 -> v3: Move tests to tests/functional dir, as the tests/avocado dir is being phased out. v2 was [PATCH v2] tests/avocado: add memlock tests. Supersedes: <20250414075702.9248-1-dtalexund...@yandex-team.ru> v1 -> v2: In the previous send, i forgot to specify new patch version (v2) So i resend previous patch with version specified. Alexandr Moshkov (2): tests/functional: add skipLockedMemoryTest decorator tests/functional: add memlock tests tests/functional/meson.build | 1 + tests/functional/qemu_test/__init__.py | 2 +- tests/functional/qemu_test/decorators.py | 18 ++++ tests/functional/test_memlock.py | 102 +++++++++++++++++++++++ 4 files changed, 122 insertions(+), 1 deletion(-) create mode 100755 tests/functional/test_memlock.py -- 2.34.1