Skip to content
This repository has been archived by the owner on Jan 31, 2020. It is now read-only.

Medium sized test repo #42

Open
dhardy opened this issue Jul 8, 2016 · 2 comments
Open

Medium sized test repo #42

dhardy opened this issue Jul 8, 2016 · 2 comments

Comments

@dhardy
Copy link
Owner

dhardy commented Jul 8, 2016

We need a repeatable test suite using a medium sized repository (large enough to have a moderate amount of complexity, multiple partitions (when implemented), yet small enough that we can include the whole thing in the main git repo). This should solve part of #13.

Ideas

  • create an initial repo, probably via random generators (e.g. sequences example), with many commits (100?)
  • check several things:
  • file names
  • hash sums of files (black box test)
  • combined state sum of all data
  • partition sums
  • using a saved copy, perform some operations, checking the result afterwards:
  • insertion
  • deletion
  • replacement
  • replacement causing movement to a new partition
  • a mixed commit with multiple of all above ops
  • new snapshot creation
  • ...
  • benchmarks?

Requirements & difficulties

Many things could cause files to change. We need to know whether element data and metadata is the same when the file format changes, commits go in different log files etc. One test will be whether the loaded partitions are identical (including all history).

We also need to handle different partitioning: to compare with/without partitioning and check that different classification rules do not change the data (from point of view of whole repo).

How is this going to work with Cargo? Ideally we want multiple test binaries but sharing code and data files. Use a cfg to put shared code in the main library? What about temporary data generated during testing — where does that go and when is it cleaned up?

@dhardy
Copy link
Owner Author

dhardy commented Jul 20, 2016

Tests:

  • creation
  • adding a few simple commits to the tip
  • merging a repo loaded with multiple tips and/or commits made not on the tip
  • repartitioning

@dhardy dhardy added this to the Alpha release milestone Jul 27, 2016
@dhardy
Copy link
Owner Author

dhardy commented Jul 27, 2016

Generation is now deterministic (seq_create_small), now for testing and operations.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant