Eric Wong wrote on Wed, Dec 08, 2021 at 06:22:47PM +0000: > Note: You might want to rm -rf ~/.cache/public-inbox/inline-c or > try a different HOME directory to get a clean repro (more on > this later). Ah, the builder does not have a home ($HOME points to a non-existing directory), so that'd explain why inline-c isn't used for tests. I'll try giving it one, in my opinion it's more representative to test with inline-c working. > I also forget to note, setting TAIL='tail -F' can dump daemon > output for tests (works better for GNU tail w/ inotify support). Thanks! > > I had initial messages about chattr not being found; adding chattr to > > the build inputs gave another error message that chattr +C doesn't work > > on tmpfs. > > The problem here seems to be that the fallback here just checks > > /proc/self/mounts and calls chattr "just in case", saying it's ok if it > > fails, but some tests probably rely on stderr output being empty? > > Yes on tests requiring stderr to be empty. Below is a patch > which should fix it; however it should only be calling chattr on > btrfs mounts. I'll give this a try as well. > So I wonder if our /proc/self/mounts parsing is broken... > Can you share your contents of /proc/self/mounts? > (maybe spaces/odd chars aren't handled properly...) It's a tad big, I've put it down as attachment. I had missed the `index($path, $mnt_path) == 0` check of the script, so I agree it should only be called on a btrfs mount... But the problem in my case is that / is btrfs, so it will always match, even if the build itself happens in /build (which is a tmpfs) So the check doesn't just need to check if it matches, but it must be the longest match's type that is considered e.g. loop through all the entries, remember the longest match's type, and then check if that is btrfs. > You can also try: > > BTRFS_TESTDIR=/path/to/your/btrfs-mount prove -bvw t/nodatacow.t I'll try something similar as well. It turns out the other people with failing test are both using zfs, so the last problem might be somewhat related; I'll give that a try too. I'll send another reply when I'm done, hopefully before work :) -- Dominique