|
Benjamin Poirier |
a6d98d |
#!/usr/bin/python3
|
|
Benjamin Poirier |
a6d98d |
# -*- coding: utf-8 -*-
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
import os.path
|
|
Benjamin Poirier |
a6d98d |
import shutil
|
|
Benjamin Poirier |
a6d98d |
import subprocess
|
|
Benjamin Poirier |
a6d98d |
import tempfile
|
|
Benjamin Poirier |
a6d98d |
import unittest
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
import lib
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
class TestLinuxGit(unittest.TestCase):
|
|
Benjamin Poirier |
a6d98d |
def setUp(self):
|
|
Benjamin Poirier |
a6d98d |
self.tmpdir = tempfile.mkdtemp(prefix="ks_linux_git")
|
|
Benjamin Poirier |
a6d98d |
self.lg_path = os.path.join(lib.libdir(), "../linux_git.sh")
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
def tearDown(self):
|
|
Benjamin Poirier |
a6d98d |
shutil.rmtree(self.tmpdir)
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
9ce16e |
def run_one(self, *, bare, var, output):
|
|
Benjamin Poirier |
a6d98d |
args = ["git", "init", "--quiet"]
|
|
Benjamin Poirier |
a6d98d |
if bare:
|
|
Benjamin Poirier |
a6d98d |
args.append("--bare")
|
|
Benjamin Poirier |
a6d98d |
args.append(self.tmpdir)
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
subprocess.check_call(args, env={})
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
retval = subprocess.check_output((self.lg_path,),
|
|
Benjamin Poirier |
a6d98d |
env={"LINUX_GIT" : var})
|
|
Benjamin Poirier |
a6d98d |
self.assertEqual(output, retval.decode())
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
def test_bare(self):
|
|
Benjamin Poirier |
9ce16e |
self.run_one(bare=True, var=self.tmpdir, output=self.tmpdir + "\n")
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
def test_nonbare(self):
|
|
Benjamin Poirier |
9ce16e |
self.run_one(bare=False, var=self.tmpdir,
|
|
Benjamin Poirier |
9ce16e |
output=os.path.join(self.tmpdir, ".git") + "\n")
|
|
Benjamin Poirier |
9ce16e |
|
|
Benjamin Poirier |
9ce16e |
|
|
Benjamin Poirier |
9ce16e |
def test_nonbare_git(self):
|
|
Benjamin Poirier |
9ce16e |
self.run_one(bare=False, var=os.path.join(self.tmpdir, ".git"),
|
|
Benjamin Poirier |
9ce16e |
output=os.path.join(self.tmpdir, ".git") + "\n")
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
|
|
Benjamin Poirier |
a6d98d |
if __name__ == '__main__':
|
|
Benjamin Poirier |
a6d98d |
# Run a single testcase
|
|
Benjamin Poirier |
a6d98d |
suite = unittest.TestLoader().loadTestsFromTestCase(TestLinuxGit)
|
|
Benjamin Poirier |
a6d98d |
unittest.TextTestRunner(verbosity=2).run(suite)
|