From: Carl Hetherington Date: Tue, 8 Dec 2015 23:40:43 +0000 (+0000) Subject: cmd_revision test. X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=c8e436e863e7c3189e39bbfc2b3ebb585bbb51d5;p=cdist.git cmd_revision test. --- diff --git a/cdist/cmd_revision.py b/cdist/cmd_revision.py index ea5f2ea..21ec3f8 100644 --- a/cdist/cmd_revision.py +++ b/cdist/cmd_revision.py @@ -1,3 +1,25 @@ +# +# Copyright (C) 2012-2015 Carl Hetherington +# +# 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 2 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, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +from target import SourceTarget +import globals +from tree_directory import TreeDirectory +from util import * + class CmdRevision(object): def __init__(self): self.name = 'revision' @@ -7,5 +29,9 @@ class CmdRevision(object): target = SourceTarget() tree = globals.trees.get(args.project, args.checkout, target) with TreeDirectory(tree): - print command_and_read('git rev-parse HEAD').readline().strip()[:7] + r = command_and_read('git rev-parse HEAD').readline().strip()[:7] + print r target.cleanup() + + # For tests + return r diff --git a/cdist/tests/test_cmd_revision.py b/cdist/tests/test_cmd_revision.py new file mode 100644 index 0000000..02d9ed8 --- /dev/null +++ b/cdist/tests/test_cmd_revision.py @@ -0,0 +1,47 @@ +# +# Copyright (C) 2012-2015 Carl Hetherington +# +# 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 2 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, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +import os +import shutil +from unittest import TestCase + +import cdist.cmd_revision +import cdist.globals +from cdist.util import command, command_and_read +import prepare + +class TestCmdRevision(TestCase): + def test(self): + + prepare.project() + + class Args: + target = 'test' + debug = False + work = 'test' + project = 'project' + checkout = None + keep = False + output = os.path.abspath('test') + cdist.globals.config.set('git_prefix', 'test') + + os.chdir('test/project.git') + check = cdist.util.command_and_read('git rev-parse HEAD').readline().strip()[:7] + os.chdir('../..') + + self.assertEquals(cdist.cmd_revision.CmdRevision().run(Args()), check) +