Skip to content
  • Nelson Ben's avatar
    gio/tests: Add testcase for bug 787731 · 32a9b88b
    Nelson Ben authored
    Add testcase for function g_file_query_filesystem_info()
    reporting outdated info for "filesystem::readonly" attribute
    when said attribute was different in a previous mounted
    partition in the same device (as GIO maintains a mounts cache
    per 'st_dev' stat() member).
    
    To trigger a mount operation, testcase uses program 'bindfs'
    instead of 'mount --bind' as bindfs does not require root
    privileges. And 'fusermount -u' command is used to unmount said
    bindfs mount.
    
    As a reference in Fedora, 'bindfs' is installed from 'bindfs'
    package and 'fusermount' from 'fuse' package (this one is installed
    by default as being part of 'System Tools' group).
    
    The test creates a directory with a file in it, then mounts it
    readonly over another directory (the mountpoint), it then checks
    that g_file_query_filesystem_info() for the file in it indeed reports
    "filesystem::readonly" as TRUE. Then unmounts and mounts again this
    time rw (not readonly), it then checks again if g_file_query_filesystem_info()
    is reporting "filesystem::readonly" as TRUE, if that's the case, it
    confirms the bug by opening said file in write mode.
    
    Testcase is only added for Unix builds.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787731
    32a9b88b