From 1a3631c12fcd0d70141c2c0172ff14c056567a75 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 13 Oct 2012 10:10:49 +0100 Subject: Add iscache subcommand --- cachedir | 17 +++++++++++++++++ tests/find.stdout | 1 + tests/iscache-not-cache.script | 20 ++++++++++++++++++++ tests/iscache.script | 21 +++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 tests/find.stdout create mode 100755 tests/iscache-not-cache.script create mode 100755 tests/iscache.script 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 . + +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 . + +set -eu + +"$SRCDIR/cachedir" tag "$DATADIR" +"$SRCDIR/cachedir" iscache "$DATADIR" + -- cgit v1.2.1