From: Carl Hetherington Date: Tue, 8 Dec 2015 23:24:25 +0000 (+0000) Subject: Add cmd_pt test. X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;h=7c269dd20b2a2fbb16516b5793cd2ed779300067;p=cdist.git Add cmd_pt test. --- diff --git a/TODO b/TODO index fa4b5a1..61e5bc1 100644 --- a/TODO +++ b/TODO @@ -1,2 +1,3 @@ remove need for os.path.abspath in cscripts tidy build/build_dependencies stuff +common stuff for commands which call a method to get some files \ No newline at end of file diff --git a/cdist/cmd_pot.py b/cdist/cmd_pot.py index 5a64e5c..0c340f0 100644 --- a/cdist/cmd_pot.py +++ b/cdist/cmd_pot.py @@ -1,3 +1,24 @@ +# +# 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 util import * + class CmdPot(object): def __init__(self): self.name = 'pot' @@ -9,6 +30,6 @@ class CmdPot(object): pots = tree.call('make_pot') for p in pots: - copyfile(p, '%s%s' % (args.output, os.path.basename(p))) + copyfile(p, os.path.join(args.output, os.path.basename(p))) target.cleanup() diff --git a/cdist/tests/test_cmd_pot.py b/cdist/tests/test_cmd_pot.py new file mode 100644 index 0000000..99a44b5 --- /dev/null +++ b/cdist/tests/test_cmd_pot.py @@ -0,0 +1,53 @@ +# +# 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_pot +import cdist.globals +from cdist.util import command +import prepare + +class TestCmdPot(TestCase): + def test(self): + + prepare.project() + os.chdir('test/project.git') + with open('cscript', 'a') as f: + print>>f,'import os' + print>>f,'def make_pot(target):' + print>>f,' os.system("touch fr de it")' + print>>f,' return [os.path.abspath("fr"), os.path.abspath("de"), os.path.abspath("it")]' + command('git commit -a -m "foo"') + os.chdir('../..') + + 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') + cdist.cmd_pot.CmdPot().run(Args()) + + self.assertTrue(os.path.exists('test/fr')) + self.assertTrue(os.path.exists('test/de')) + self.assertTrue(os.path.exists('test/it'))