From 63fbe1a8498e950ed287da853095b834fcdc196b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Doktor?= Date: Sun, 10 Apr 2016 21:28:49 +0200 Subject: [PATCH] selftests: Add the test_test selftests related to long names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds selftests regarding the long filenames fixes. Signed-off-by: Lukáš Doktor --- selftests/unit/test_test.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/selftests/unit/test_test.py b/selftests/unit/test_test.py index 8dba814e..1a3123fb 100644 --- a/selftests/unit/test_test.py +++ b/selftests/unit/test_test.py @@ -2,6 +2,7 @@ import os import shutil import sys import tempfile +from flexmock import flexmock if sys.version_info[:2] == (2, 6): import unittest2 as unittest @@ -20,6 +21,42 @@ false """ +class DummyTest(test.Test): + def test(self): + pass + + +class TestClassTestUnit(unittest.TestCase): + + def setUp(self): + self.tmpdir = tempfile.mkdtemp(prefix="avocado_" + __name__) + + def tearDown(self): + shutil.rmtree(self.tmpdir) + + def testLongName(self): + test = DummyTest("test", "a" * 256, base_logdir=self.tmpdir) + self.assertEqual(os.path.basename(test.logdir), "a" * 250) + test = DummyTest("test", "a" * 256, base_logdir=self.tmpdir) + self.assertEqual(os.path.basename(test.logdir), "a" * 250 + ".1") + self.assertEqual(os.path.basename(test.workdir), + os.path.basename(test.logdir)) + flexmock(test) + test.should_receive('filename').and_return("a"*250) + self.assertEqual("a"*250 + ".data", test.datadir) + self.assertRaises(IOError, test._record_reference_stdout) + self.assertRaises(IOError, test._record_reference_stderr) + test.should_receive('filename').and_return("a"*251) + self.assertFalse(test.datadir) + test._record_reference_stdout() + test._record_reference_stderr() + + def testAllDirsExistsNoHang(self): + flexmock(os.path) + os.path.should_receive('isdir').and_return(True) + self.assertRaises(exceptions.TestSetupFail, DummyTest, "test", "name") + + class TestClassTest(unittest.TestCase): def setUp(self): -- GitLab