[cfe-commits] r90468 - in /cfe/trunk/utils: TestUtils/ TestUtils/deep-stack.py TestUtils/pch-test.pl pch-test.pl

Daniel Dunbar daniel at zuster.org
Thu Dec 3 10:40:58 PST 2009


Author: ddunbar
Date: Thu Dec  3 12:40:58 2009
New Revision: 90468

URL: http://llvm.org/viewvc/llvm-project?rev=90468&view=rev
Log:
Add utils/TestUtils, and sink pch-test.pl there.

Also, add a test for generator a C file with a very deep call stack.

Added:
    cfe/trunk/utils/TestUtils/
    cfe/trunk/utils/TestUtils/deep-stack.py   (with props)
    cfe/trunk/utils/TestUtils/pch-test.pl
      - copied, changed from r90452, cfe/trunk/utils/pch-test.pl
Removed:
    cfe/trunk/utils/pch-test.pl

Added: cfe/trunk/utils/TestUtils/deep-stack.py
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TestUtils/deep-stack.py?rev=90468&view=auto

==============================================================================
--- cfe/trunk/utils/TestUtils/deep-stack.py (added)
+++ cfe/trunk/utils/TestUtils/deep-stack.py Thu Dec  3 12:40:58 2009
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+def pcall(f, N):
+    if N == 0:
+        print >>f, '    f(0)'
+        return
+
+    print >>f, '    f('
+    pcall(f, N - 1)
+    print >>f, '     )'
+
+def main():
+    f = open('t.c','w')
+    print >>f, 'int f(int n) { return n; }'
+    print >>f, 'int t() {'
+    print >>f, '  return'
+    pcall(f, 10000)
+    print >>f, '  ;'
+    print >>f, '}'
+
+if __name__ == "__main__":
+    import sys
+    sys.setrecursionlimit(100000)
+    main()

Propchange: cfe/trunk/utils/TestUtils/deep-stack.py

------------------------------------------------------------------------------
    svn:executable = *

Copied: cfe/trunk/utils/TestUtils/pch-test.pl (from r90452, cfe/trunk/utils/pch-test.pl)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TestUtils/pch-test.pl?p2=cfe/trunk/utils/TestUtils/pch-test.pl&p1=cfe/trunk/utils/pch-test.pl&r1=90452&r2=90468&rev=90468&view=diff

==============================================================================
    (empty)

Removed: cfe/trunk/utils/pch-test.pl
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/pch-test.pl?rev=90467&view=auto

==============================================================================
--- cfe/trunk/utils/pch-test.pl (original)
+++ cfe/trunk/utils/pch-test.pl (removed)
@@ -1,61 +0,0 @@
-#!/usr/bin/perl -w
-
-# This tiny little script, which should be run from the clang
-# directory (with clang-cc in your patch), tries to take each
-# compilable Clang test and build a PCH file from that test, then read
-# and dump the contents of the PCH file just created.
-use POSIX;
-
-$exitcode = 0;
-sub testfiles($$) {
-  my $suffix = shift;
-  my $language = shift;
-  my $passed = 0;
-  my $failed = 0;
-  my $skipped = 0;
-
-  @files = `ls test/*/*.$suffix`;
-  foreach $file (@files) {
-    chomp($file);
-    my $code = system("clang-cc -fsyntax-only -x $language $file > /dev/null 2>&1");
-    if ($code == 0) {
-      print(".");
-      $code = system("clang-cc -emit-pch -x $language -o $file.pch $file > /dev/null 2>&1");
-      if ($code == 0) {
-        $code = system("clang-cc -include-pch $file.pch -x $language -ast-dump /dev/null > /dev/null 2>&1");
-        if ($code == 0) {
-          $passed++;
-        } elsif (($code & 0xFF) == SIGINT) {
-          exit($exitcode);
-        } else {
-          print("\n---Failed to dump AST file for \"$file\"---\n");
-          $exitcode = 1;
-          $failed++;
-        }
-        unlink "$file.pch";
-      } elsif (($code & 0xFF) == SIGINT) {
-        exit($exitcode);
-      } else {
-        print("\n---Failed to build PCH file for \"$file\"---\n");
-        $exitcode = 1;
-          $failed++;
-      }
-    } elsif (($code & 0xFF) == SIGINT) {
-      exit($exitcode);
-    } else {
-      print("x");
-      $skipped++;
-    }
-  }
-
-  print("\n\n$passed tests passed\n");
-  print("$failed tests failed\n");
-  print("$skipped tests skipped ('x')\n")
-}
-
-printf("-----Testing precompiled headers for C-----\n");
-testfiles("c", "c");
-printf("\n-----Testing precompiled headers for Objective-C-----\n");
-testfiles("m", "objective-c");
-print("\n");
-exit($exitcode);





More information about the cfe-commits mailing list