dokan-dev / dokany

User mode file system library for windows with FUSE Wrapper
http://dokan-dev.github.io
5.23k stars 665 forks source link

Use a fixed seed for fsx-tests? #419

Open Rondom opened 7 years ago

Rondom commented 7 years ago

Hello, I noticed that in build 1.0.1-51 the tests failed for some reason.

Rerunning the build, made the tests run fine. I don't know why, but this made me wonder whether we should use a fixed seed for the tests, just to be sure. Only question I have is, whether you see any problems from this? I mean a random seed is a hit and miss. Alternatively we should at least tie it to the git commit...

i guess in this case it was AppVeyor being weird because the compiling takes long enough, so I wonder whether it makes sense to open an issue about that. i guess they probably cannot help as long as you cannot reproduce it...

Liryna commented 7 years ago

Hi @Rondom ,

Regarding https://ci.appveyor.com/project/Maxhy/dokany/build/1.0.1-51/job/gkb25et13llxj0c7 , do you know or guess that fsx could be the issue that stopped the machine ? For me the build took 1h, it is probably because the machine never came back and appveyor was still waiting.

Regarding fsx random seed, I think random is still the best way to do it. It can potentially find more case that fixed seeds BUT to be able to reproduce the issue in case of a crash. Maybe the seed should be calculated before and printed before the test.

Rondom commented 7 years ago

For anyone who wants to implement this: Seed is 32bit, if I remember correctly (double-check). Take the first 8 chars of the GIT-commitref and turn it into a decimal number like this:

[uint32]"0xDEADBEEF"
    3735928559

(i.e. prepend the first 8 letters with 0x) and convert to cast to uint32)

git rev-parse --verify HEAD