soc progress 6
First for the last week’s TODO: endianity conversion and magic word in index are now done. Other than that, I have been working on testing of hashed-storage, and I am happy to announce that I now have a working Arbitrary Tree instance and a bunch of QC properties, and also that the unit tests now also run outside of a darcs checkout of hashed-storage. A few still need a “darcs” binary present on the system, but I’ll fix that in a bit (this just comprises storing the relevant darcs outputs in the test data).
I have also fixed a stupid bug in hashed-storage that caused issues with darcs whatsnew in 2.3 beta 1 involving subtree queries of 2nd-level or deeper subdirectories. Together with the index upgrade functionality, this is now part of 0.3.4 release of hashed-storage.
In other news, I have fixed a bug in mmap that caused current darcs-hs to fail tests. While at it, I also improved error messages in mmap. Thanks to Gracjan’s prompt response, mmap-0.3 including my changes is now available through Hackage.
Nothing much else, not so much an exciting week, but a few things have solidified and darcs 2.3 is starting to look good.
The summary of hashed-storage changes for the week:
- Add a bunch of QC properties for Tree manipulation.
- Add an Arbitrary instance and a relaxed equality function for Tree.
- Rudimentary Show instance for Tree.
- Make the tests run outside of the hashed-storage darcs repo, too.
- Set up repository test.
- Use quickcheck2, since darcs uses that and cabal dislikes mixing QC 1 and 2.
- Bump version to 0.3.4.
- Give proper exit code in “cabal test”.
- Drop redundant expansion in test.
- Check that index upgrade copes with bad or unknown index.
- Remove _darcs/index before testing, if it exists.
- Make the index format host-endianity-independent.
- Fix some Wall noise.
- Implement xlate32/xlate64 endianness conversion functions.
- Add a function to read index and check its version, upgrading if needed.
- Keep a magic number at start of the binary index.
- Add a test for recent expandPath bug and combine the tree/generic groups.
- Refactor tests and port to test-framework.
- Fix typo in expandPath that broke the recursive case.
and for darcs-hs:
- Bump hashed-storage dependency to 0.3.4.
- Clean up unused imports in WhatsNew.
- Add a TODO comment to the inefficient look-for-adds implementation.
- Wall policy for Gorsvet’s applyToTree.
- Use the new hashed-storage index upgrade functionality.