summaryrefslogtreecommitdiff
path: root/Test.hs
Commit message (Collapse)AuthorAge
* replace (Key, Backend) with KeyGravatar Joey Hess2014-04-17
| | | | | | | | | | Only fsck and reinject and the test suite used the Backend, and they can look it up as needed from the Key. This simplifies the code and also speeds it up. There is a small behavior change here. Before, all commands would warn when acting on an annexed file with an unknown backend. Now, only fsck and reinject show that warning.
* add new testGravatar Joey Hess2014-04-12
|
* fix build with new optparse-applicative releaseGravatar Joey Hess2014-03-20
|
* Windows: Fix some filename encoding bugs.Gravatar Joey Hess2014-03-19
| | | | | | http://git-annex.branchable.com/bugs/Unicode_file_names_ignored_on_Windows/ Not a complete fix yet.
* factored out a generic MapLog from uuid-based logsGravatar Joey Hess2014-03-15
| | | | UUIDBased is just a MapLog with a UUID for the field.
* more conflict resolution testsGravatar Joey Hess2014-03-04
|
* sync: Automatically resolve merge conflict between and annexed file and a ↵Gravatar Joey Hess2014-03-04
| | | | | | | | | | | | | | | | | | | regular git file. This is a new feature, it was not handled before, since it's a bit of an edge case. However, it can be handled exactly the same as a file/dir conflict, just leave the non-annexed item alone. While implementing this, the core resolveMerge' function got a lot simpler and clearer. Note especially that where before there was an asymetric call to stagefromdirectmergedir, now graftin is called symmetrically in both cases. And, in order to add that `graftin us`, the current branch needed to be known (if there is no current branch, there cannot be a merge conflict). This led to some cleanups of how autoMergeFrom behaved when there is no current branch. This commit was sponsored by Philippe Gauthier.
* add test case for merge conflict resolution between annexed and in-git fileGravatar Joey Hess2014-03-04
|
* added test for conflict resolution with a file that is both deleted and modifiedGravatar Joey Hess2014-03-04
|
* fix test case to convert slashes for DOSGravatar Joey Hess2014-03-04
|
* much improved test and real fix for FAT symlink loss on conflicted mergeGravatar Joey Hess2014-03-04
| | | | | | | | | | | I think that f5ce1a15d7a35b85ffa938ee950f4749bf445939 didn't quite manage to actually fix the bug, although I have not checked since its "fix" got redone. The test suite now actually checks the file staged in git is a symlink, rather than relying on the bug casing a later sync failure. This seems a more reliable way to detect it, and probably avoids a heisenbug in the test suite.
* improved test for FAT symlink regressionsGravatar Joey Hess2014-03-04
| | | | | The test case that was supposed to cover this did not.. It is for some other bug, which is apparently a bit of a heisenbug.
* fix environment propigation in windows test suiteGravatar Joey Hess2014-03-04
| | | | Let through HOME, etc when running git-annex from test suite.
* add test cases for the new direct mode merge bugGravatar Joey Hess2014-03-04
|
* change directory encoding in ViewedFile such that the original directory can ↵Gravatar Joey Hess2014-02-22
| | | | be extracted from it
* add git annex view commandGravatar Joey Hess2014-02-18
| | | | | | | | | | | | | | | | | | (And a vpop command, which is still a bit buggy.) Still need to do vadd and vrm, though this also adds their documentation. Currently not very happy with the view log data serialization. I had to lose the TDFA regexps temporarily, so I can have Read/Show instances of View. I expect the view log format will change in some incompatable way later, probably adding last known refs for the parent branch to View or something like that. Anyway, it basically works, although it's a bit slow looking up the metadata. The actual git branch construction is about as fast as it can be using the current git plumbing. This commit was sponsored by Peter Hogg.
* add another quickcheck property, and several edge cases handledGravatar Joey Hess2014-02-16
|
* filter branches (incomplete)Gravatar Joey Hess2014-02-16
| | | | | | | | Promosing work toward metadata driven filter branches. A few methods to construct them are stubbed out; all the data types and pure code seems good. This commit was sponsored by Walter Somerville.
* fix metadata log simplifier and additional quickcheck testsGravatar Joey Hess2014-02-12
|
* data types and serialization for metadataGravatar Joey Hess2014-02-12
| | | | | | | A very haskell commit! Just data types, instances to serialize the metadata to a nice format, and QuickCheck tests. This commit was sponsored by Andreas Leha.
* more hlintGravatar Joey Hess2014-02-11
|
* use nukefile rather than shelling to rmGravatar Joey Hess2014-02-10
|
* eliminating absNormPathGravatar Joey Hess2014-02-07
| | | | | | | | | | | | | | | | git-annex has been using MissingH's `abdNormPath` forever, but that's unmaintained and possibly buggy, and doesn't work on Windows. I've been wanting to get rid of it for some time, and finally did today, writing a `simplifyPath` that does the things git-annex needs and will work with all the Windows filename craziness, and takes advantage of the more modern System.FilePath to be quite a simple peice of code. A QuickCheck test found no important divergences from absNormPath. A good first step to making git-annex not depend on MissingH at all. And it fixed some weird behaviors on Windows like `git annex add ..\subdir\file` not working. Note that absNormPathUnix has been left alone for now.
* add regression test for symlink calculationGravatar Joey Hess2014-02-06
| | | | | Note: Test reordered because running git-annex sync early broke the environment for some other tests.
* add test case & fix conflict resolution bug on Windows & FATGravatar Joey Hess2014-02-04
| | | | | | | | | | | | | | | Fix bug in automatic merge conflict resolution code when used on a filesystem not supporting symlinks, which resulted in it losing track of the symlink bit of annexed files. This was the underlying bug that was causing another test to fail, which got worked around in f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d. I've chosen to keep 2 separate test cases since the old test case only detected the problem accidentially. Test suite passes on FAT & in windows, as well as on proper unix systems. This commit was sponsored by Ellis Whitehead.
* narrowing test caseGravatar Joey Hess2014-02-04
|
* add test case for windows sync push failureGravatar Joey Hess2014-02-04
| | | | | | This adds a test for a failure mode seemingly specific to Windows that was removed in f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d, and puts it in its own test case.
* set up git email config in clone repos too when running testGravatar Joey Hess2014-02-04
| | | | | | | | | This fixes the problem of the environment variables apparently not being seen on Windows. I could probably remove the setting of the env vars from Test.hs now as this covers it better. Note that outside the test suite, git-annex on windows seems to manage to configure the repo so commits work on its own.
* fix broken testGravatar Joey Hess2014-02-03
| | | | | | f5d0c8f0bf7f018479eb4da7e8c41598b7aacb7d broke the mixed conflict resolution test. Since origin is no longer involved, both sides have to sync after pairing. (The sync before pairing is just to get a commit.)
* fix reversion on repo deletionGravatar Joey Hess2014-02-03
| | | | A broken symlink would cause the mode setting to fail.
* improve failure messageGravatar Joey Hess2014-02-03
|
* fix test suite to pass on windowsGravatar Joey Hess2014-02-03
| | | | | | | On windows, the sync of the second cloned repo to origin failed, because synced/master was a non-fast-forward. This may be a bug of its own, but it's not the issue that this test was intended to test, so disconnect the repos from origin before syncing.
* try harder to delete test dir on windowsGravatar Joey Hess2014-02-03
|
* Windows: Fix deletion of repositories by test suite and webapp.Gravatar Joey Hess2014-02-03
| | | | | | On Windows, a file that is not writable cannot be deleted even if in a directory with write perms. So git object files were not getting deleted when removing a git repository.
* Windows: Avoid using unix-compat's rename, which refuses to rename directories.Gravatar Joey Hess2014-01-29
| | | | Opened a bug about this: https://github.com/jystic/unix-compat/issues/10
* Revert "temporarily revert tasty-rerun support for this release"Gravatar Joey Hess2014-01-27
| | | | This reverts commit 65eb61a902ecf68da69d774063fea4880f619a13.
* temporarily revert tasty-rerun support for this release5.20140127Gravatar Joey Hess2014-01-27
| | | | | | revert 852f1f6cea85a7c781c8286f459023bdacebe021 tasty-rerun is stuck in NEW in debian
* reorgGravatar Joey Hess2014-01-26
|
* reorganize some files and importsGravatar Joey Hess2014-01-26
|
* tasty-rerun! make rerest runs much much faster than running whole test suiteGravatar Joey Hess2014-01-24
|
* add timestamps to unused log filesGravatar Joey Hess2014-01-22
| | | | | | | | | | This will be used in expiring old unused objects. The timestamp is when it was first noticed it was unused. Backwards compatability: It supports reading old format unused log files. The old version of git-annex will ignore lines in log files written by the new version, so the worst interop problem would be git annex dropunused not knowing some numbers that git-annex unused reported.
* tests should now all run independently, without needing any prior tests to ↵Gravatar Joey Hess2014-01-21
| | | | | | have run Should be ready now for tasty-rerun.
* use tasty resourcesGravatar Joey Hess2014-01-21
|
* expose tasty test suite's option parserGravatar Joey Hess2014-01-21
|
* global numcopies settingGravatar Joey Hess2014-01-20
| | | | | | | | | | | | | | | | | | | | | | | * numcopies: New command, sets global numcopies value that is seen by all clones of a repository. * The annex.numcopies git config setting is deprecated. Once the numcopies command is used to set the global number of copies, any annex.numcopies git configs will be ignored. * assistant: Make the prefs page set the global numcopies. This global numcopies setting is needed to let preferred content expressions operate on numcopies. It's also convenient, because typically if you want git-annex to preserve N copies of files in a repo, you want it to do that no matter which repo it's running in. Making it global avoids needing to warn the user about gotchas involving inconsistent annex.numcopies settings. (See changes to doc/numcopies.mdwn.) Added a new variety of git-annex branch log file, that holds only 1 value. Will probably be useful for other stuff later. This commit was sponsored by Nicolas Pouillard.
* Fix typo in test suite.Gravatar Joey Hess2013-12-24
|
* Fix test suite to cover lock --force change.Gravatar Joey Hess2013-12-15
|
* test direct mode first (it breaks more often)Gravatar Joey Hess2013-11-26
|
* run each quickcheck test 1000, rather than 100 timesGravatar Joey Hess2013-11-15
| | | | | I've had one or two fails sent to me involving cases QuickCheck didh't easily find, and tasty makes this easy.
* add test case for b0f85b3e22cbb608d14f606f57badba79eece945Gravatar Joey Hess2013-11-15
|