summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-10-13 10:10:49 +0100
committerLars Wirzenius <liw@liw.fi>2012-10-13 10:10:49 +0100
commit1a3631c12fcd0d70141c2c0172ff14c056567a75 (patch)
tree036819e4f57acb19df3590750eb086e132c57a7d
parent6bc2a04374e008ebae51aa0d9f09c2fa9d98af13 (diff)
downloadcachedir-1a3631c12fcd0d70141c2c0172ff14c056567a75.tar.gz
Add iscache subcommand
-rwxr-xr-xcachedir17
-rw-r--r--tests/find.stdout1
-rwxr-xr-xtests/iscache-not-cache.script20
-rwxr-xr-xtests/iscache.script21
4 files changed, 59 insertions, 0 deletions
diff --git a/cachedir b/cachedir
index 1067d3d..e2c65bc 100755
--- a/cachedir
+++ b/cachedir
@@ -17,6 +17,7 @@
import cliapp
import os
+import sys
__version__ = '0.0'
@@ -43,6 +44,22 @@ class Cachedir(cliapp.Application):
for dirname in args:
os.remove(self._join(dirname))
+ def cmd_iscache(self, args):
+ '''Are all named directories tagged?
+
+ There is no output, but exit code is 0 if all named directories
+ are tagged as cache directories.
+
+ '''
+
+ errors = False
+ for dirname in args:
+ if not os.path.exists(self._join(dirname)):
+ sys.stderr.write('%s is not a cache directory\n' % dirname)
+ errors = True
+ if errors:
+ sys.exit(1)
+
def cmd_find(self, args):
'''Find cache directories under the given directories.'''
diff --git a/tests/find.stdout b/tests/find.stdout
new file mode 100644
index 0000000..8a3a80d
--- /dev/null
+++ b/tests/find.stdout
@@ -0,0 +1 @@
+TMP/foo/bar/cache
diff --git a/tests/iscache-not-cache.script b/tests/iscache-not-cache.script
new file mode 100755
index 0000000..c4e0e62
--- /dev/null
+++ b/tests/iscache-not-cache.script
@@ -0,0 +1,20 @@
+#!/bin/sh
+# Copyright 2012 Lars Wirzenius
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+set -eu
+
+"$SRCDIR/cachedir" iscache "$DATADIR"
+
diff --git a/tests/iscache.script b/tests/iscache.script
new file mode 100755
index 0000000..e7384ac
--- /dev/null
+++ b/tests/iscache.script
@@ -0,0 +1,21 @@
+#!/bin/sh
+# Copyright 2012 Lars Wirzenius
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+set -eu
+
+"$SRCDIR/cachedir" tag "$DATADIR"
+"$SRCDIR/cachedir" iscache "$DATADIR"
+