summaryrefslogtreecommitdiff
path: root/Test.hs
Commit message (Collapse)AuthorAge
...
* 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
|
* tasty fully workingGravatar Joey Hess2013-11-14
|
* finished converting test suite for tastyGravatar Joey Hess2013-11-14
| | | | Also merged in Test.hs from master.
* test suite partially converted to use tasty test frameworkGravatar Joey Hess2013-08-06
| | | | | This is a win. Will need to wait for tasty getting into Debian, and do a trivial conversion of the remainder of the hunit tests.
* enable 2 more tests on WindowsGravatar Joey Hess2013-08-04
|
* Windows: Fixed permissions problem that prevented removing files from ↵Gravatar Joey Hess2013-08-04
| | | | | | directory special remote. Directory special remotes now fully usable.
* missed some __WINDOWS__ definesGravatar Joey Hess2013-08-04
|
* regression test for 043672e11448516b70c0bea789f94fd3d5e16910Gravatar Joey Hess2013-07-30
|
* Improve test suite on Windows; now tests git annex sync.Gravatar Joey Hess2013-07-30
|
* update test suite for dropunused behavior changeGravatar Joey Hess2013-07-30
|
* Support unannex and uninit in direct mode.Gravatar Joey Hess2013-07-22
| | | | | | | | | | | | | | | | | | | In direct mode, it's best to whenever possible not move direct mode files out of the way, and so I made unannex avoid touching the direct mode file at all. That actually turns out to be easy, because in direct mode, unlike indirect mode, the pre-commit hook won't get confused if the unannexed file later gets added back by git add. So there's no need to commit the unannex right away; it can be staged for the user to commit later. This also means that unannex in direct mode is a lot faster than in indirect mode! Another subtle bit is the bookkeeping that is done when unannexing a direct mode file. The inode cache needs to be removed so that when uninit runs getKeysPresent, it doesn't see the cache and think the key is still present and crash when it's not. This commit is sponsored by Douglas Butts. Thanks!
* adjust test suite for changed dropunused behavior with bogus numbersGravatar Joey Hess2013-07-09
|
* few final bits for fully working test suite on windowsGravatar Joey Hess2013-06-18
|
* Windows: The test suite now passes on Windows (a few broken parts are disabled).Gravatar Joey Hess2013-06-18
| | | | | | | | | | | Better to have a working test suite that doesn't test a few things than no working test suite. Most of the disabled stuff is because for some reason "git annex sync" doesn't work when run inside the test suite. Looks like PATH problems. The directory and rsync special remotes seem broken on Windows, or maybe the tests are. Pretty sure the hook special remote test is broken.
* disable a test that windows git doesn't supportGravatar Joey Hess2013-06-18
|
* more slash fixesGravatar Joey Hess2013-06-18
|
* couple path separator fixesGravatar Joey Hess2013-06-18
|
* allow test temp dir removal to fail (working around some problem on Windows)Gravatar Joey Hess2013-06-18
|
* some basic tests of preferred content expressions and standard groupsGravatar Joey Hess2013-05-25
|
* Fix bug in parsing of parens in some preferred content expressions. This ↵Gravatar Joey Hess2013-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes the behavior of the manual mode group. The current manual mode preferred content expression is: "present and (((exclude=*/archive/* and exclude=archive/*) or (not (copies=archive:1 or copies=smallarchive:1))) or (not copies=semitrusted+:1))" The old matcher misparsed this, to basically: OR (present and (...)) (not copies=semitrusted+:1)) The paren handling and indeed the whole conversion from tokens to the matcher was just wrong. The new way may not be the cleverest, but I think it is correct, and you can see how it pattern matches structurally against the expressions when parsing them. That expression is now parsed to: MAnd (MOp <function>) (MOr (MOr (MAnd (MOp <function>) (MOp <function>)) (MNot (MOr (MOp <function>) (MOp <function>)))) (MNot (MOp <function>))) Which appears correct, and behaves correct in testing. Also threw in a simplifier, so the final generated Matcher has less unnecessary clutter in it. Mostly so that I could more easily read & confirm them. Also, added a simple test of the Matcher to the test suite. There is a small chance of badly formed preferred content expressions behaving differently than before due to this rewrite.
* add a test case for merge conflict automatic resolutionGravatar Joey Hess2013-05-20
|
* run the test suite twice, once in direct modeGravatar Joey Hess2013-05-20
| | | | | On a filesystem that only supports direct mode, it will test direct mode twice, but oh well.
* fix windows buildGravatar Joey Hess2013-05-19
|