Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / test / nacl / nacl_browsertest_util.h
index fa50192..bfe8709 100644 (file)
@@ -123,6 +123,12 @@ class NaClBrowserTestPnacl : public NaClBrowserTestBase {
   virtual bool IsAPnaclTest() OVERRIDE;
 };
 
+class NaClBrowserTestPnaclNonSfi : public NaClBrowserTestBase {
+ public:
+  virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE;
+  virtual base::FilePath::StringType Variant() OVERRIDE;
+};
+
 // Class used to test that when --disable-pnacl is specified the PNaCl mime
 // type is not available.
 class NaClBrowserTestPnaclDisabled : public NaClBrowserTestBase {
@@ -153,29 +159,40 @@ class NaClBrowserTestStatic : public NaClBrowserTestBase {
 // and sometimes time out.  Disable until it is made faster:
 // https://code.google.com/p/chromium/issues/detail?id=177555
 #if (defined(OS_WIN) && !defined(NDEBUG))
-#define MAYBE_PNACL(test_name) DISABLED_##test_name
+#  define MAYBE_PNACL(test_name) DISABLED_##test_name
 #else
-#define MAYBE_PNACL(test_name) test_name
+#  define MAYBE_PNACL(test_name) test_name
 #endif
 
-#if defined(ARCH_CPU_ARM_FAMILY)
+// NaCl glibc tests are included for x86 only, as there is no glibc support
+// for other architectures (ARM/MIPS).
+#if defined(ARCH_CPU_X86_FAMILY)
+#  define MAYBE_GLIBC(test_name) test_name
+#else
+#  define MAYBE_GLIBC(test_name) DISABLED_##test_name
+#endif
 
-// There is no support for Glibc on ARM NaCl.
-#define NACL_BROWSER_TEST_F(suite, name, body) \
-IN_PROC_BROWSER_TEST_F(suite##Newlib, name) \
-body
+// ASan does not work with libc-free context, so disable the test.
+#if defined(OS_LINUX) && !defined(ADDRESS_SANITIZER)
+#  define MAYBE_NONSFI(test_case) test_case
+#else
+#  define MAYBE_NONSFI(test_case) DISABLED_##test_case
+#endif
 
+// Currently, translation from pexe to non-sfi nexe is supported only for
+// x86-32 binary.
+#if defined(OS_LINUX) && defined(ARCH_CPU_X86)
+#  define MAYBE_PNACL_NONSFI(test_case) test_case
 #else
+#  define MAYBE_PNACL_NONSFI(test_case) DISABLED_##test_case
+#endif
 
-// Otherwise, we have Glibc, Newlib and Pnacl tests
 #define NACL_BROWSER_TEST_F(suite, name, body) \
 IN_PROC_BROWSER_TEST_F(suite##Newlib, name) \
 body \
-IN_PROC_BROWSER_TEST_F(suite##GLibc, name) \
+IN_PROC_BROWSER_TEST_F(suite##GLibc, MAYBE_GLIBC(name)) \
 body \
 IN_PROC_BROWSER_TEST_F(suite##Pnacl, MAYBE_PNACL(name)) \
 body
 
-#endif
-
 #endif  // CHROME_TEST_NACL_NACL_BROWSERTEST_UTIL_H_