]> git.saurik.com Git - wxWidgets.git/commitdiff
Add IsAutomaticTest() function to the unit tests.
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 1 Jun 2012 16:21:06 +0000 (16:21 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 1 Jun 2012 16:21:06 +0000 (16:21 +0000)
This allows to easily test if we're running on a buildbot slave and disable
some difficult to debug test failures there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/controls/listbasetest.cpp
tests/test.cpp
tests/testprec.h
tests/validators/valnum.cpp

index 443ca241b52326f8e662a28fec07be21b34c4539..65bffc00e71338acd7be1d85f0c0b51db452db4a 100644 (file)
@@ -181,11 +181,13 @@ void ListBaseTestCase::ItemClick()
     //        generic wxListCtrl implementation.
 #if wxUSE_UIACTIONSIMULATOR && !defined(__WXGTK__)
 
     //        generic wxListCtrl implementation.
 #if wxUSE_UIACTIONSIMULATOR && !defined(__WXGTK__)
 
+#ifdef __WXMSW__
     // FIXME: This test fails on MSW buildbot slaves although works fine on
     //        development machine, no idea why. It seems to be a problem with
     //        wxUIActionSimulator rather the wxListCtrl control itself however.
     // FIXME: This test fails on MSW buildbot slaves although works fine on
     //        development machine, no idea why. It seems to be a problem with
     //        wxUIActionSimulator rather the wxListCtrl control itself however.
-    if ( wxGetUserId().Lower().Matches("buildslave*") )
+    if ( IsAutomaticTest() )
         return;
         return;
+#endif // __WXMSW__
 
     wxListCtrl* const list = GetList();
 
 
     wxListCtrl* const list = GetList();
 
index c3bbc3119155f7e37c0226aced6e8e853a36a7d5..155bfdf154aca426c21def3f98ff6697b09af88d 100644 (file)
@@ -412,6 +412,23 @@ extern bool IsNetworkAvailable()
     return online;
 }
 
     return online;
 }
 
+extern bool IsAutomaticTest()
+{
+    static int s_isAutomatic = -1;
+    if ( s_isAutomatic == -1 )
+    {
+        // Allow setting an environment variable to emulate buildslave user for
+        // testing.
+        wxString username;
+        if ( !wxGetEnv("WX_TEST_USER", &username) )
+            username = wxGetUserId();
+
+        s_isAutomatic = username.Lower().Matches("buildslave*");
+    }
+
+    return s_isAutomatic == 1;
+}
+
 // helper of OnRun(): gets the test with the given name, returning NULL (and
 // not an empty test suite) if there is no such test
 static Test *GetTestByName(const wxString& name)
 // helper of OnRun(): gets the test with the given name, returning NULL (and
 // not an empty test suite) if there is no such test
 static Test *GetTestByName(const wxString& name)
index 03e470a4bcf26006e6272dfb426ff05ae04a13c8..0005f5bb3ea42d75eac92fa78e615e0216cc4980 100644 (file)
@@ -126,6 +126,8 @@ extern void SetProcessEventFunc(ProcessEventFunc func);
 
 extern bool IsNetworkAvailable();
 
 
 extern bool IsNetworkAvailable();
 
+extern bool IsAutomaticTest();
+
 // Helper class setting the locale to the given one for its lifetime.
 class LocaleSetter
 {
 // Helper class setting the locale to the given one for its lifetime.
 class LocaleSetter
 {
index dd2d0e983579872d54c2e2077f7a13a4f724ca70..599192e835ab332c8557f8ddb3d8c33729e733cc 100644 (file)
@@ -204,11 +204,13 @@ void NumValidatorTestCase::NoTrailingZeroes()
 
 void NumValidatorTestCase::Interactive()
 {
 
 void NumValidatorTestCase::Interactive()
 {
+#ifdef __WXMSW__
     // FIXME: This test fails on MSW buildbot slaves although works fine on
     //        development machine, no idea why. It seems to be a problem with
     //        wxUIActionSimulator rather the wxListCtrl control itself however.
     // FIXME: This test fails on MSW buildbot slaves although works fine on
     //        development machine, no idea why. It seems to be a problem with
     //        wxUIActionSimulator rather the wxListCtrl control itself however.
-    if ( wxGetUserId().Lower().Matches("buildslave*") )
+    if ( IsAutomaticTest() )
         return;
         return;
+#endif // __WXMSW__
 
     // Set a locale using comma as thousands separator character.
     wxLocale loc(wxLANGUAGE_ENGLISH_UK, wxLOCALE_DONT_LOAD_DEFAULT);
 
     // Set a locale using comma as thousands separator character.
     wxLocale loc(wxLANGUAGE_ENGLISH_UK, wxLOCALE_DONT_LOAD_DEFAULT);