modularize tests - please review

Thompson, John John_Thompson at
Mon Mar 18 17:06:22 PDT 2013

Thanks, Sean.

I've fixed the issues mentioned, except for this one:

Ø  +# RUN: modularize %s -x c++ 2>&1 | FileCheck %s

It seems "|&" mentioned in the docs doesn't work on Windows, but "2>&1" does.  Both forms seem to work on Linux, though.  I see "2>&1"  is used in several clang tests.

Any thoughts?

I've enclosed the current state.



From: Sean Silva [mailto:silvas at]
Sent: Friday, March 15, 2013 9:29 PM
To: Thompson, John
Cc: cfe-commits at
Subject: Re: modularize tests - please review

+# RUN: modularize %s -x c++ 2>&1 | FileCheck %s

2>&1 will confuse the testing infrastructure, which doesn't accept full bash/sh syntax. See near the bottom of this section:

+// SomeTypes.h - Define a few different kinds of types - no modules problems.

You can probably drop the filename. Over time it's unlikely that all of the added tests will have the filename, so things will gradually become inconsistent.

+typedef int TypeInt;
+typedef TypeInt NestedTypeInt;
+struct TypeStruct
+  int Member;

Keep the opening curly bracket on the same line as "struct TypeStruct" as per the LLVM coding conventions. For simplicity, you may want to just run clang-format on the files.

+# CHECK: error: 'SYMBOL' defined at both {{.*}}{{\\|/}}InputProblemsInconsistent{{\\|/}}SubHeader.h:3:9 and {{.*}}{{\\|/}}InputProblemsInconsistent/SubHeader.h:6:9

It seems like other test in tree do {{[/\\]}} instead of {{\\|/}}. Rather microscopic, but it would be good to be consistent.

-- Sean Silva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: modularize_tests_1.patch
Type: application/octet-stream
Size: 5087 bytes
Desc: modularize_tests_1.patch
URL: <>

More information about the cfe-commits mailing list