#!/usr/bin/env python3 import os import sys import tempfile from posix_parity import compare_calls from posix_parity import fail from posix_parity import join def statvfs_cmp(lhs, rhs): return ( lhs.f_namemax == rhs.f_namemax and lhs.f_bsize > 0 and rhs.f_bsize > 0 and lhs.f_frsize > 0 and rhs.f_frsize > 0 ) def main(): if len(sys.argv) != 2: print("usage: TEST_posix_statfs ", file=sys.stderr) return 1 mount = sys.argv[1] with tempfile.TemporaryDirectory() as native: err = compare_calls( "statvfs mount parity", lambda: os.statvfs(mount), lambda: os.statvfs(native), statvfs_cmp, ) if err: return fail(err) err = compare_calls( "statvfs ENOENT", lambda: os.statvfs(join(mount, "posix-statfs/missing")), lambda: os.statvfs(join(native, "posix-statfs/missing")), ) if err: return fail(err) return 0 if __name__ == "__main__": raise SystemExit(main())