spyffe created this revision.
spyffe added a reviewer: tfiala.
spyffe added a subscriber: lldb-commits.
spyffe set the repository for this revision to rL LLVM.

To eliminate problems where 'lldbinline.py'-generated Makefiles are re-used, 
I've standardized the generation of them.  The testsuite now asserts if there 
is a discrepancy between what is there and what 'lldbinline.py' would generate.

I've also eliminated all cases where what is there is legitimately different 
from what 'lldbinline.py' would generate.

Repository:
  rL LLVM

http://reviews.llvm.org/D21032

Files:
  
packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile
  
packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile
  
packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile
  
packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile
  packages/Python/lldbsuite/test/lang/c/struct_types/Makefile
  packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile
  packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile
  packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile
  packages/Python/lldbsuite/test/lldbinline.py
  packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile

Index: packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile
===================================================================
--- packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile
+++ packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/Makefile
@@ -1,4 +1,13 @@
 LEVEL = ../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/lldbinline.py
===================================================================
--- packages/Python/lldbsuite/test/lldbinline.py
+++ packages/Python/lldbsuite/test/lldbinline.py
@@ -2,7 +2,9 @@
 from __future__ import absolute_import
 
 # System modules
+import filecmp
 import os
+import sys
 
 # Third-party modules
 
@@ -89,9 +91,6 @@
             return "-N dsym %s" % (self.mydir)
 
     def BuildMakefile(self):
-        if os.path.exists("Makefile"):
-            return
-
         categories = {}
 
         for f in os.listdir(os.getcwd()):
@@ -102,7 +101,7 @@
                 else:
                     categories[t] = [f]
 
-        makefile = open("Makefile", 'w+')
+        makefile = open("Makefile.tmp", 'w+')
 
         level = os.sep.join([".."] * len(self.mydir.split(os.sep))) + os.sep + "make"
 
@@ -118,11 +117,26 @@
         if ('CXX_SOURCES' in list(categories.keys())):
             makefile.write("CXXFLAGS += -std=c++11\n")
 
-        makefile.write("include $(LEVEL)/Makefile.rules\n")
+        # clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD 
+        # targets.  Other targets do not, which causes this test to fail.
+        # This flag enables FullDebugInfo for all targets.
+
+        makefile.write("ifneq (,$(findstring clang,$(CC)))\n")
+        makefile.write("    CFLAGS_EXTRAS += -fno-limit-debug-info\n")
+        makefile.write("endif\n\n")
+
+        makefile.write("include $(LEVEL)/Makefile.rules\n\n")
+
         makefile.write("\ncleanup:\n\trm -f Makefile *.d\n\n")
         makefile.flush()
         makefile.close()
 
+        if os.path.exists("Makefile"):
+            if not filecmp.cmp("Makefile", "Makefile.tmp"):
+                sys.exit("Existing Makefile doesn't match generated Makefile!")
+
+        os.rename("Makefile.tmp", "Makefile")    
+
     @skipUnlessDarwin
     def __test_with_dsym(self):
         self.using_dsym = True
Index: packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile
===================================================================
--- packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile
+++ packages/Python/lldbsuite/test/lang/objc/objc-runtime-ivars/Makefile
@@ -1,6 +1,13 @@
 LEVEL = ../../../make
-
 OBJC_SOURCES := main.m
 LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
 
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile
===================================================================
--- packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile
+++ packages/Python/lldbsuite/test/lang/cpp/extern_c/Makefile
@@ -1,3 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
+CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile
===================================================================
--- packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile
+++ packages/Python/lldbsuite/test/lang/cpp/const_this/Makefile
@@ -1,8 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
 
+
 cleanup:
 	rm -f Makefile *.d
 
Index: packages/Python/lldbsuite/test/lang/c/struct_types/Makefile
===================================================================
--- packages/Python/lldbsuite/test/lang/c/struct_types/Makefile
+++ packages/Python/lldbsuite/test/lang/c/struct_types/Makefile
@@ -1,3 +1,12 @@
 LEVEL = ../../../make
 C_SOURCES := main.c
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile
===================================================================
--- packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile
+++ packages/Python/lldbsuite/test/functionalities/data-formatter/typedef_array/Makefile
@@ -1,4 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile
===================================================================
--- packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile
+++ packages/Python/lldbsuite/test/functionalities/data-formatter/stringprinter/Makefile
@@ -1,12 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
-
-# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD 
-# targets.  Other targets do not, which causes this test to fail.
-# This flag enables FullDebugInfo for all targets.
 ifneq (,$(findstring clang,$(CC)))
-  CFLAGS_EXTRAS += -fno-limit-debug-info
+    CFLAGS_EXTRAS += -fno-limit-debug-info
 endif
 
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile
===================================================================
--- packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile
+++ packages/Python/lldbsuite/test/functionalities/data-formatter/setvaluefromcstring/Makefile
@@ -1,4 +1,13 @@
 LEVEL = ../../../make
 OBJC_SOURCES := main.m
+LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
+ifneq (,$(findstring clang,$(CC)))
+    CFLAGS_EXTRAS += -fno-limit-debug-info
+endif
+
 include $(LEVEL)/Makefile.rules
-LDFLAGS += -framework Foundation
+
+
+cleanup:
+	rm -f Makefile *.d
+
Index: packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile
===================================================================
--- packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile
+++ packages/Python/lldbsuite/test/functionalities/data-formatter/dump_dynamic/Makefile
@@ -1,12 +1,13 @@
 LEVEL = ../../../make
 CXX_SOURCES := main.cpp
 CXXFLAGS += -std=c++11
-
-# clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD 
-# targets.  Other targets do not, which causes this test to fail.
-# This flag enables FullDebugInfo for all targets.
 ifneq (,$(findstring clang,$(CC)))
-  CFLAGS_EXTRAS += -fno-limit-debug-info
+    CFLAGS_EXTRAS += -fno-limit-debug-info
 endif
 
 include $(LEVEL)/Makefile.rules
+
+
+cleanup:
+	rm -f Makefile *.d
+
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to