[llvm] r182715 - Fixed bug when tests in executable partially used absolute paths.

Alexey Samsonov samsonov at google.com
Tue May 28 02:44:12 PDT 2013


Hi Galina!

On Sun, May 26, 2013 at 7:58 AM, Galina Kistanova <gkistanova at gmail.com>wrote:

> Author: gkistanova
> Date: Sat May 25 22:58:41 2013
> New Revision: 182715
>
> URL: http://llvm.org/viewvc/llvm-project?rev=182715&view=rev
> Log:
> Fixed bug when tests in executable partially used absolute paths.
>
> Modified:
>     llvm/trunk/utils/lit/lit/TestFormats.py
>
> Modified: llvm/trunk/utils/lit/lit/TestFormats.py
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/TestFormats.py?rev=182715&r1=182714&r2=182715&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/lit/lit/TestFormats.py (original)
> +++ llvm/trunk/utils/lit/lit/TestFormats.py Sat May 25 22:58:41 2013
> @@ -61,9 +61,9 @@ class GoogleTest(object):
>          (dirname, basename) = os.path.split(execpath)
>          # Discover the tests in this executable.
>          for testname in self.getGTestTests(execpath, litConfig,
> localConfig):
> -            testPath = path_in_suite + (dirname, basename, testname)
> -            yield Test.Test(testSuite, testPath, localConfig)
> -
> +            testPath_in_suite = path_in_suite + (basename, testname)
> +            yield Test.Test(testSuite, testPath_in_suite, localConfig)
>

I think this is wrong. When I run unittests locally, file
/some/gtest/executable is called as:
/some/gtest/executable --gtest_filter="executable/test.case"
instead of:
/some/gtest/executable --gtest_filter="test.case"

As a result, *all the unit tests silently pass*.
I think r182758 deals with it, but double-checking would be nice.



> +
>      def getTestsInDirectory(self, testSuite, path_in_suite,
>                              litConfig, localConfig):
>          source_path = testSuite.getSourcePath(path_in_suite)
> @@ -73,15 +73,17 @@ class GoogleTest(object):
>                  # Iterate over executables in a directory.
>                  if not os.path.normcase(filename) in self.test_sub_dir:
>                      continue
> +                filepath_in_suite = path_in_suite + (filename, )
>                  for subfilename in os.listdir(filepath):
>                      execpath = os.path.join(filepath, subfilename)
>                      for test in self.getTestsInExecutable(
> -                            testSuite, path_in_suite, execpath,
> +                            testSuite, filepath_in_suite, execpath,
>                              litConfig, localConfig):
>                        yield test
>              elif ('.' in self.test_sub_dir):
> +                filepath_in_suite = path_in_suite + (filename, )
>                  for test in self.getTestsInExecutable(
> -                        testSuite, path_in_suite, filepath,
> +                        testSuite, filepath_in_suite, filepath,
>                          litConfig, localConfig):
>                      yield test
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130528/c93ff891/attachment.html>


More information about the llvm-commits mailing list