summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-05-15 17:44:30 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-05-15 17:44:30 -0400
commit8986a918e5af331db29b953e061dc2d20a5b86d2 (patch)
tree529f4c3cbc2243cc1446438fccdc18740f95f2fe
parent9eed3371174c8ed3796bf83a1e7ca99e125576e4 (diff)
a few fixes for the test suite in direct mode
Still far from working.
-rw-r--r--Test.hs29
1 files changed, 19 insertions, 10 deletions
diff --git a/Test.hs b/Test.hs
index f3969418b..374f496e3 100644
--- a/Test.hs
+++ b/Test.hs
@@ -41,6 +41,7 @@ import qualified Logs.Presence
import qualified Remote
import qualified Types.Key
import qualified Types.Messages
+import qualified Config
import qualified Config.Cost
import qualified Crypto
import qualified Utility.Path
@@ -865,7 +866,12 @@ cleanup dir = do
checklink :: FilePath -> Assertion
checklink f = do
s <- getSymbolicLinkStatus f
- isSymbolicLink s @? f ++ " is not a symlink"
+ ifM (annexeval Config.isDirect)
+ -- in direct mode, it may be a symlink, or not, depending
+ -- on whether the content is present.
+ ( return ()
+ , isSymbolicLink s @? f ++ " is not a symlink"
+ )
checkregularfile :: FilePath -> Assertion
checkregularfile f = do
@@ -879,15 +885,18 @@ checkcontent f = do
assertEqual ("checkcontent " ++ f) c (content f)
checkunwritable :: FilePath -> Assertion
-checkunwritable f = do
- -- Look at permissions bits rather than trying to write or using
- -- fileAccess because if run as root, any file can be modified
- -- despite permissions.
- s <- getFileStatus f
- let mode = fileMode s
- if (mode == mode `unionFileModes` ownerWriteMode)
- then assertFailure $ "able to modify annexed file's " ++ f ++ " content"
- else return ()
+checkunwritable f = ifM (annexeval Config.isDirect)
+ ( return ()
+ , do
+ -- Look at permissions bits rather than trying to write or
+ -- using fileAccess because if run as root, any file can be
+ -- modified despite permissions.
+ s <- getFileStatus f
+ let mode = fileMode s
+ if (mode == mode `unionFileModes` ownerWriteMode)
+ then assertFailure $ "able to modify annexed file's " ++ f ++ " content"
+ else return ()
+ )
checkwritable :: FilePath -> Assertion
checkwritable f = do