Checking that email can be parsed... OK, passed 100 tests. There are a total of 34 primitive patches. There are a total of 386 patches. Checking that concatPS works... OK, passed 100 tests. Checking that hex conversion works... OK, passed 100 tests. Checking that show and read work right... OK, passed 100 tests. Checking known commutes... good. Checking known merges... good. Checking known canons... good. Checking patch and inverse both commute for subcommute speedy_commute... OK, passed 100 tests. Checking patch and inverse both commute for subcommute commute_filedir... OK, passed 100 tests. Checking patch and inverse both commute for subcommute commute_filepatches... OK, passed 100 tests. Checking patch and inverse both commute for subcommute simple_commute_conflict... Arguments exhausted after 0 tests. Checking patch and inverse both commute for subcommute harder_commute_conflict... Arguments exhausted after 0 tests. Checking patch and inverse both commute for subcommute simple conflicts... OK, passed 100 tests. Checking patch and inverse both commute for subcommute repeated conflicts... Arguments exhausted after 0 tests. Checking patch and inverse both commute for subcommute force_commute... OK, passed 100 tests. Checking patch and inverse both commute for subcommute commute... OK, passed 100 tests. Checking nontrivial commutes are correct for subcommute speedy_commute... Arguments exhausted after 0 tests. Checking nontrivial commutes are correct for subcommute commute_filedir... OK, passed 100 tests. Checking nontrivial commutes are correct for subcommute commute_filepatches... Arguments exhausted after 88 tests. Checking nontrivial commutes are correct for subcommute simple_commute_conflict... Arguments exhausted after 0 tests. Checking nontrivial commutes are correct for subcommute harder_commute_conflict... Arguments exhausted after 0 tests. Checking nontrivial commutes are correct for subcommute simple conflicts... OK, passed 100 tests. Checking nontrivial commutes are correct for subcommute repeated conflicts... Arguments exhausted after 0 tests. Checking nontrivial commutes are correct for subcommute force_commute... OK, passed 100 tests. Checking nontrivial commutes are correct for subcommute commute... Falsifiable, after 41 tests: { { adddir ./aB } addfile ./test } move ./world ./test-conflict Checking inverses fail for subcommute speedy_commute... Arguments exhausted after 0 tests. Checking inverses fail for subcommute commute_filedir... OK, passed 100 tests. Checking inverses fail for subcommute commute_filepatches... OK, passed 100 tests. Checking inverses fail for subcommute simple_commute_conflict... Arguments exhausted after 0 tests. Checking inverses fail for subcommute harder_commute_conflict... Arguments exhausted after 0 tests. Checking inverses fail for subcommute simple conflicts... Arguments exhausted after 0 tests. Checking inverses fail for subcommute repeated conflicts... Arguments exhausted after 0 tests. Checking inverses fail for subcommute force_commute... Arguments exhausted after 0 tests. Checking inverses fail for subcommute commute... OK, passed 100 tests. Checking that commuting by patch and its inverse is ok... OK, passed 100 tests. Checking that conflict resolution is valid... OK, passed 100 tests. Checking that a patch followed by its inverse is identity... OK, passed 100 tests. Checking that commutes are equivalent... OK, passed 100 tests. Checking that merges are valid... OK, passed 100 tests. Checking inverses being valid... OK, passed 100 tests. Checking other inverse being valid... OK, passed 100 tests. Checking merge swaps... good. Checking the unravelling of three merges... OK, passed 100 tests. Checking the unravelling of a merge of a sequence... OK, passed 100 tests. Checking inverse of inverse... OK, passed 100 tests. Checking the order of commutes... OK, passed 100 tests. Checking commute either way... OK, passed 100 tests. Checking the double commute... OK, passed 100 tests. Checking that merges commute and are well behaved... OK, passed 100 tests. Checking that merges can be swapped... OK, passed 100 tests. Checking again that merges can be swapped (I'm paranoid) ... OK, passed 100 tests. Checking that the patch validation works... good. Checking commute/recommute... good. Checking merge properties... good. Testing the lcs code... good. Checking primitive patch IO functions... good. Checking IO functions... good. Checking primitive commute/recommute... good.