jacereda / fsatrace

Filesystem access tracer
ISC License
78 stars 12 forks source link

Make injection work more reliably on Windows #31

Closed ndmitchell closed 5 years ago

ndmitchell commented 5 years ago

Before 64/64 injection worked well, but nothing else really did. There are two root causes:

With that, 64/64, 64/32 and 32/32 all work nicely. The 32/64 doesn't work, but reading https://stackoverflow.com/questions/494284/createremotethread-32-64-and-or-64-32 it doesn't seem it can without some seriously grim assembly. Given its a far less common operation, I'm happy to leave it out for now.

ndmitchell commented 5 years ago

With this final patch I can pass the full test suite with all the fixme's removed on Windows.

ndmitchell commented 5 years ago

I believe the Mac failure is spurious - I'd recommend clicking refresh in the CI.

jacereda commented 5 years ago

I haven't forgotten about this one, I want to fix some issues on the posix side before merging it.

ndmitchell commented 5 years ago

Thanks for the update, that's fine by me.

jacereda commented 5 years ago

With this final patch I can pass the full test suite with all the fixme's removed on Windows.

There're still a couple of them in the code (Arbitrary FSATest and allTests)

jacereda commented 5 years ago

I got a windows box, I'll try to figure out why the injecting test works.

jacereda commented 5 years ago

I'm merging this but I'm skeptical about the static variable. I've removed the injecting test and it still works for me.

jacereda commented 5 years ago

Thanks!