diff --git a/avocado/core/test.py b/avocado/core/test.py index b3cfe316a1519ff8c7c075f4c86282130c75e6bf..64c824e5a6ffd40941f93bb016e2cc331f41e0cf 100644 --- a/avocado/core/test.py +++ b/avocado/core/test.py @@ -174,7 +174,8 @@ class Test(unittest.TestCase): Returns the path to the directory that contains test data files """ # Maximal allowed file name length is 255 - if self.filename is not None and len(self.filename) < 251: + if (self.filename is not None and + len(os.path.basename(self.filename)) < 251): return self.filename + '.data' else: return None diff --git a/selftests/unit/test_test.py b/selftests/unit/test_test.py index b11f847e07b47c02a6b688395e9dceff22880a62..2bbefa18795d713dfd3b5c36b1ea33130b543ec5 100644 --- a/selftests/unit/test_test.py +++ b/selftests/unit/test_test.py @@ -67,12 +67,14 @@ class TestClassTestUnit(unittest.TestCase): 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(os.path.join(self.tmpdir, + "a"*250)) + self.assertEqual(os.path.join(self.tmpdir, "a"*250 + ".data"), + test.datadir) test.should_receive('filename').and_return("a"*251) self.assertFalse(test.datadir) + test._record_reference_stdout # Should does nothing + test._record_reference_stderr # Should does nothing test._record_reference_stdout() test._record_reference_stderr()