pluto icon indicating copy to clipboard operation
pluto copied to clipboard

Use our fat32 code to create the image of test files

Open SamTebbs33 opened this issue 2 years ago • 3 comments

We currently create an empty fat32 image and then mount it to copy the filesystem test files into it, which requires root permissions. It would be cool to remove the need to mount by using our own fat32 code to build the image. This would have the happy side-effect of allowing us to use docker in CI, speeding up the tests as we won't have to download all of the build dependencies.

SamTebbs33 avatar Jun 03 '22 08:06 SamTebbs33

I did this as I wanted to test the FAT32 driver against a known good image using a external tool. As if creating the images using the driver to test itself might not catch some errors. Unless I am wrong in my assumptions as can create tests or if these tests are already in place to ensure self testing. Could try mtools as this don't require mounting if this works in docker. Or as a final option, create the image then commit it to this repo and have steps explaining how the image was made so can be verified.

DrDeano avatar Jun 03 '22 09:06 DrDeano

Good point, I hadn't thought about the aspect of using a well-trusted external tool. I did try using mtools but I encountered a lot of fat32 test failures (unexpected sector numbers etc.) that I couldn't resolve due to a lack of knowledge of fat32.

I think that using mtools would be the best option though, are you happy to look into that? Otherwise keeping the image in the repo sounds doable to me, we're unlikely to change the fat32 test files often anyway.

SamTebbs33 avatar Jun 03 '22 09:06 SamTebbs33

I shall look into mtools and see what the differences are

DrDeano avatar Jun 03 '22 22:06 DrDeano