wolfcw / libfaketime

libfaketime modifies the system time for a single application
https://github.com/wolfcw/libfaketime
GNU General Public License v2.0
2.62k stars 319 forks source link

adding support for faking statx #434

Closed v-gb closed 11 months ago

v-gb commented 11 months ago

Before vs after on my machine:

 $ LANG=C LD_PRELOAD=src/libfaketime.so.1 FAKETIME=+1d strace -e statx -v stat Makefile |& grep 202
 statx(AT_FDCWD, "Makefile", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_blksize=4096, stx_attributes=0, stx_nlink=1, stx_uid=1000, stx_gid=1000, stx_mode=S_IFREG|0664, stx_ino=4326782, stx_size=1006, stx_blocks=8, 
stx_attributes_mask=STATX_ATTR_COMPRESSED|STATX_ATTR_IMMUTABLE|STATX_ATTR_APPEND|STATX_ATTR_NODUMP|STATX_ATTR_ENCRYPTED|STATX_ATTR_AUTOMOUNT|STATX_ATTR_MOUNT_ROOT|STATX_ATTR_VERITY|STATX_ATTR_DAX,
stx_atime={tv_sec=1690764183, tv_nsec=379172976} /* 2023-07-30T20:43:03.379172976-0400 */,
stx_btime={tv_sec=1617121640, tv_nsec=172041510} /* 2021-03-30T12:27:20.172041510-0400 */,
stx_ctime={tv_sec=1617121640, tv_nsec=172041510} /* 2021-03-30T12:27:20.172041510-0400 */,
stx_mtime={tv_sec=1617121640, tv_nsec=172041510} /* 2021-03-30T12:27:20.172041510-0400 */,
stx_rdev_major=0, stx_rdev_minor=0, stx_dev_major=8, stx_dev_minor=3}) = 0
-Access: 2023-07-30 20:43:03.379172976 -0400
-Modify: 2021-03-30 12:27:20.172041510 -0400
-Change: 2021-03-30 12:27:20.172041510 -0400
- Birth: 2021-03-30 12:27:20.172041510 -0400
+Access: 2023-07-31 20:43:03.379172976 -0400
+Modify: 2021-03-31 12:27:20.172041510 -0400
+Change: 2021-03-31 12:27:20.172041510 -0400
+ Birth: 2021-03-31 12:27:20.172041510 -0400

Closes #417 .

v-gb commented 11 months ago

Thanks for the quick merge!