You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by da...@apache.org on 2015/09/04 18:32:10 UTC

svn commit: r1701288 [3/3] - in /openoffice/trunk/main/sal/qa/osl/process: makefile.mk osl_Thread.cxx osl_process.cxx

Modified: openoffice/trunk/main/sal/qa/osl/process/osl_process.cxx
URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/qa/osl/process/osl_process.cxx?rev=1701288&r1=1701287&r2=1701288&view=diff
==============================================================================
--- openoffice/trunk/main/sal/qa/osl/process/osl_process.cxx (original)
+++ openoffice/trunk/main/sal/qa/osl/process/osl_process.cxx Fri Sep  4 16:32:10 2015
@@ -24,7 +24,7 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_sal.hxx"
 
-#include <testshl/simpleheader.hxx>
+#include "gtest/gtest.h"
 #include <osl/process.h>
 #include <osl/file.hxx>
 #include <osl/thread.h>
@@ -75,9 +75,9 @@ inline void printUString( const ::rtl::O
 {
 	rtl::OString aString;
 
-	t_print("#printUString_u# " );
+	printf("#printUString_u# " );
 	aString = ::rtl::OUStringToOString( str, RTL_TEXTENCODING_ASCII_US );
-	t_print("%s\n", aString.getStr( ) );
+	printf("%s\n", aString.getStr( ) );
 }
 
 /** get binary Path.
@@ -95,8 +95,9 @@ inline ::rtl::OUString getExecutablePath
 //rtl::OUString CWD = getExecutablePath();
 
 //########################################
-class Test_osl_joinProcess : public CppUnit::TestFixture
+class Test_osl_joinProcess : public ::testing::Test
 {
+protected:
     const OUString join_param_;
     const OUString wait_time_;
     OUString suCWD;
@@ -119,179 +120,137 @@ public:
         suExecutableFileURL += rtl::OUString::createFromAscii("/");
         suExecutableFileURL += EXECUTABLE_NAME;
     }
-
-    /*-------------------------------------
-        Start a process and join with this
-        process specify a timeout so that
-        osl_joinProcessWithTimeout returns
-        osl_Process_E_TimedOut
-     -------------------------------------*/
-
-    void osl_joinProcessWithTimeout_timeout_failure()
-    {
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            suExecutableFileURL.pData,
-            parameters_,
-            parameters_count_,
-            osl_Process_NORMAL,
-            osl_getCurrentSecurity(),
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        TimeValue timeout;
-        timeout.Seconds = 1;
-        timeout.Nanosec = 0;
-
-        osl_error = osl_joinProcessWithTimeout(process, &timeout);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcessWithTimeout returned without timeout failure",
-            osl_Process_E_TimedOut == osl_error
-        );
-
-        osl_error = osl_terminateProcess(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_terminateProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_freeProcessHandle(process);
-    }
-
-    /*-------------------------------------
-        Start a process and join with this
-        process specify a timeout so that
-        osl_joinProcessWithTimeout returns
-        osl_Process_E_None
-     -------------------------------------*/
-
-    void osl_joinProcessWithTimeout_without_timeout_failure()
-    {
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            suExecutableFileURL.pData,
-            parameters_,
-            parameters_count_,
-            osl_Process_NORMAL,
-            osl_getCurrentSecurity(),
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        TimeValue timeout;
-        timeout.Seconds = 10;
-        timeout.Nanosec = 0;
-
-        osl_error = osl_joinProcessWithTimeout(process, &timeout);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcessWithTimeout returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-    }
-
-     /*-------------------------------------
-        Start a process and join with this
-        process specify an infinite timeout
-     -------------------------------------*/
-
-    void osl_joinProcessWithTimeout_infinite()
-    {
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            suExecutableFileURL.pData,
-            parameters_,
-            parameters_count_,
-            osl_Process_NORMAL,
-            osl_getCurrentSecurity(),
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_error = osl_joinProcessWithTimeout(process, NULL);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcessWithTimeout returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-    }
-
-     /*-------------------------------------
-        Start a process and join with this
-        process using osl_joinProcess
-     -------------------------------------*/
-
-     void osl_joinProcess()
-    {
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            suExecutableFileURL.pData,
-            parameters_,
-            parameters_count_,
-            osl_Process_NORMAL,
-            osl_getCurrentSecurity(),
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_error = ::osl_joinProcess(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcess returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-    }
-
-    CPPUNIT_TEST_SUITE(Test_osl_joinProcess);
-    CPPUNIT_TEST(osl_joinProcessWithTimeout_timeout_failure);
-    CPPUNIT_TEST(osl_joinProcessWithTimeout_without_timeout_failure);
-    CPPUNIT_TEST(osl_joinProcessWithTimeout_infinite);
-    CPPUNIT_TEST(osl_joinProcess);
-    CPPUNIT_TEST_SUITE_END();
 };
 
+/*-------------------------------------
+    Start a process and join with this
+    process specify a timeout so that
+    osl_joinProcessWithTimeout returns
+    osl_Process_E_TimedOut
+ -------------------------------------*/
+
+TEST_F(Test_osl_joinProcess, osl_joinProcessWithTimeout_timeout_failure)
+{
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        suExecutableFileURL.pData,
+        parameters_,
+        parameters_count_,
+        osl_Process_NORMAL,
+        osl_getCurrentSecurity(),
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    TimeValue timeout;
+    timeout.Seconds = 1;
+    timeout.Nanosec = 0;
+
+    osl_error = osl_joinProcessWithTimeout(process, &timeout);
+
+    ASSERT_TRUE(osl_Process_E_TimedOut == osl_error) << "osl_joinProcessWithTimeout returned without timeout failure";
+
+    osl_error = osl_terminateProcess(process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_terminateProcess failed";
+
+    osl_freeProcessHandle(process);
+}
+
+/*-------------------------------------
+    Start a process and join with this
+    process specify a timeout so that
+    osl_joinProcessWithTimeout returns
+    osl_Process_E_None
+ -------------------------------------*/
+
+TEST_F(Test_osl_joinProcess, osl_joinProcessWithTimeout_without_timeout_failure)
+{
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        suExecutableFileURL.pData,
+        parameters_,
+        parameters_count_,
+        osl_Process_NORMAL,
+        osl_getCurrentSecurity(),
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    TimeValue timeout;
+    timeout.Seconds = 10;
+    timeout.Nanosec = 0;
+
+    osl_error = osl_joinProcessWithTimeout(process, &timeout);
+
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcessWithTimeout returned with failure";
+
+    osl_freeProcessHandle(process);
+}
+
+ /*-------------------------------------
+    Start a process and join with this
+    process specify an infinite timeout
+ -------------------------------------*/
+
+TEST_F(Test_osl_joinProcess, osl_joinProcessWithTimeout_infinite)
+{
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        suExecutableFileURL.pData,
+        parameters_,
+        parameters_count_,
+        osl_Process_NORMAL,
+        osl_getCurrentSecurity(),
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    osl_error = osl_joinProcessWithTimeout(process, NULL);
+
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcessWithTimeout returned with failure";
+
+    osl_freeProcessHandle(process);
+}
+
+ /*-------------------------------------
+    Start a process and join with this
+    process using osl_joinProcess
+ -------------------------------------*/
+
+TEST_F(Test_osl_joinProcess, osl_joinProcess)
+{
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        suExecutableFileURL.pData,
+        parameters_,
+        parameters_count_,
+        osl_Process_NORMAL,
+        osl_getCurrentSecurity(),
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    osl_error = ::osl_joinProcess(process);
+
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcess returned with failure";
+
+    osl_freeProcessHandle(process);
+}
+
+
 //#########################################################
 
 typedef std::vector<std::string>  string_container_t;
@@ -363,8 +322,9 @@ private:
 #endif
 
 //#########################################################
-class Test_osl_executeProcess : public CppUnit::TestFixture
+class Test_osl_executeProcess : public ::testing::Test
 {
+protected:
     const OUString env_param_;
 
     OUString     temp_file_path_;
@@ -389,7 +349,7 @@ public:
     }
 
     //------------------------------------------------
-    virtual void setUp()
+    virtual void SetUp()
     {
         temp_file_path_ = create_temp_file();
         parameters_[1]  = temp_file_path_.pData;
@@ -400,11 +360,11 @@ public:
     {
         OUString temp_file_url;
         FileBase::RC rc = FileBase::createTempFile(0, 0, &temp_file_url);
-        CPPUNIT_ASSERT_MESSAGE("createTempFile failed", FileBase::E_None == rc);
+        EXPECT_TRUE(FileBase::E_None == rc) << "createTempFile failed";
 
         OUString temp_file_path;
         rc = FileBase::getSystemPathFromFileURL(temp_file_url, temp_file_path);
-        CPPUNIT_ASSERT_MESSAGE("getSystemPathFromFileURL failed", FileBase::E_None == rc);
+        EXPECT_TRUE(FileBase::E_None == rc) << "getSystemPathFromFileURL failed";
 
         return temp_file_path;
     }
@@ -416,11 +376,7 @@ public:
             parameters_[1]), osl_getThreadTextEncoding());
         std::ifstream file(temp_file_name.getStr());
 
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "I/O error, cannot open child environment file",
-            file.is_open()
-        );
+        ASSERT_TRUE(file.is_open()) << "I/O error, cannot open child environment file";
 
         std::string line;
         while (std::getline(file, line))
@@ -491,188 +447,139 @@ public:
         return (common_env_size_equals && common_env_content_equals &&
                 different_env_size_equals && different_env_content_equals);
     }
+};
 
-    //------------------------------------------------
-    // test that parent and child process have the
-    // same environment when osl_executeProcess will
-    // be called with out setting new environment
-    // variables
-   void osl_execProc_parent_equals_child_environment()
-    {
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            suExecutableFileURL.pData,
-            parameters_,
-            parameters_count_,
-            osl_Process_NORMAL,
-            NULL,
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_error = ::osl_joinProcess(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcess returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "Parent an child environment not equal",
-            compare_environments()
-        );
-    }
+//------------------------------------------------
+// test that parent and child process have the
+// same environment when osl_executeProcess will
+// be called with out setting new environment
+// variables
+TEST_F(Test_osl_executeProcess, osl_execProc_parent_equals_child_environment)
+{
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        suExecutableFileURL.pData,
+        parameters_,
+        parameters_count_,
+        osl_Process_NORMAL,
+        NULL,
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
 
-    //------------------------------------------------
-    #define ENV1 "PAT=a:\\"
-    #define ENV2 "PATHb=b:\\"
-    #define ENV3 "Patha=c:\\"
-    #define ENV4 "Patha=d:\\"
-
-    void osl_execProc_merged_child_environment()
-    {
-        rtl_uString* child_env[4];
-        OUString env1 = OUString::createFromAscii(ENV1);
-        OUString env2 = OUString::createFromAscii(ENV2);
-        OUString env3 = OUString::createFromAscii(ENV3);
-        OUString env4 = OUString::createFromAscii(ENV4);
-
-        child_env[0] = env1.pData;
-        child_env[1] = env2.pData;
-        child_env[2] = env3.pData;
-        child_env[3] = env4.pData;
-
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            suExecutableFileURL.pData,
-            parameters_,
-            parameters_count_,
-            osl_Process_NORMAL,
-            NULL,
-            suCWD.pData,
-            child_env,
-            sizeof(child_env)/sizeof(child_env[0]),
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_error = ::osl_joinProcess(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcess returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-
-        string_container_t different_child_env_vars;
-        different_child_env_vars.push_back(ENV1);
-        different_child_env_vars.push_back(ENV2);
-        different_child_env_vars.push_back(ENV4);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_execProc_merged_child_environment",
-            compare_merged_environments(different_child_env_vars)
-        );
-    }
-
-    void osl_execProc_test_batch()
-    {
-        oslProcess process;
-        rtl::OUString suBatch = suCWD + rtl::OUString::createFromAscii("/") + rtl::OUString::createFromAscii("batch.bat");
-        oslProcessError osl_error = osl_executeProcess(
-            suBatch.pData,
-            NULL,
-            0,
-            osl_Process_NORMAL,
-            NULL,
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_error = ::osl_joinProcess(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcess returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-    }
-
-    void osl_execProc_exe_name_in_argument_list()
-    {
-        rtl_uString* params[3];
-
-        params[0] = suExecutableFileURL.pData;
-        params[1] = env_param_.pData;
-        params[2] = temp_file_path_.pData;
-        oslProcess process;
-        oslProcessError osl_error = osl_executeProcess(
-            NULL,
-            params,
-            3,
-            osl_Process_NORMAL,
-            NULL,
-            suCWD.pData,
-            NULL,
-            0,
-            &process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_createProcess failed",
-            osl_error == osl_Process_E_None
-        );
-
-        osl_error = ::osl_joinProcess(process);
-
-        CPPUNIT_ASSERT_MESSAGE
-        (
-            "osl_joinProcess returned with failure",
-            osl_Process_E_None == osl_error
-        );
-
-        osl_freeProcessHandle(process);
-    }
-
-    CPPUNIT_TEST_SUITE(Test_osl_executeProcess);
-    CPPUNIT_TEST(osl_execProc_parent_equals_child_environment);
-    CPPUNIT_TEST(osl_execProc_merged_child_environment);
-    CPPUNIT_TEST(osl_execProc_test_batch);
-    CPPUNIT_TEST(osl_execProc_exe_name_in_argument_list);
-    CPPUNIT_TEST_SUITE_END();
-};
+    osl_error = ::osl_joinProcess(process);
 
-//#####################################
-// register test suites
-//CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(Test_osl_joinProcess,    "Test_osl_joinProcess");
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(Test_osl_executeProcess, "Test_osl_executeProcess");
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcess returned with failure";
 
-NOADDITIONAL;
+    osl_freeProcessHandle(process);
 
+    ASSERT_TRUE(compare_environments()) << "Parent an child environment not equal";
+}
+
+//------------------------------------------------
+#define ENV1 "PAT=a:\\"
+#define ENV2 "PATHb=b:\\"
+#define ENV3 "Patha=c:\\"
+#define ENV4 "Patha=d:\\"
+
+TEST_F(Test_osl_executeProcess, osl_execProc_merged_child_environment)
+{
+    rtl_uString* child_env[4];
+    OUString env1 = OUString::createFromAscii(ENV1);
+    OUString env2 = OUString::createFromAscii(ENV2);
+    OUString env3 = OUString::createFromAscii(ENV3);
+    OUString env4 = OUString::createFromAscii(ENV4);
+
+    child_env[0] = env1.pData;
+    child_env[1] = env2.pData;
+    child_env[2] = env3.pData;
+    child_env[3] = env4.pData;
+
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        suExecutableFileURL.pData,
+        parameters_,
+        parameters_count_,
+        osl_Process_NORMAL,
+        NULL,
+        suCWD.pData,
+        child_env,
+        sizeof(child_env)/sizeof(child_env[0]),
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    osl_error = ::osl_joinProcess(process);
+
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcess returned with failure";
+
+    osl_freeProcessHandle(process);
+
+    string_container_t different_child_env_vars;
+    different_child_env_vars.push_back(ENV1);
+    different_child_env_vars.push_back(ENV2);
+    different_child_env_vars.push_back(ENV4);
+
+    ASSERT_TRUE(compare_merged_environments(different_child_env_vars)) << "osl_execProc_merged_child_environment";
+}
+
+TEST_F(Test_osl_executeProcess, osl_execProc_test_batch)
+{
+    oslProcess process;
+    rtl::OUString suBatch = suCWD + rtl::OUString::createFromAscii("/") + rtl::OUString::createFromAscii("batch.bat");
+    oslProcessError osl_error = osl_executeProcess(
+        suBatch.pData,
+        NULL,
+        0,
+        osl_Process_NORMAL,
+        NULL,
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    osl_error = ::osl_joinProcess(process);
+
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcess returned with failure";
+
+    osl_freeProcessHandle(process);
+}
+
+TEST_F(Test_osl_executeProcess, osl_execProc_exe_name_in_argument_list)
+{
+    rtl_uString* params[3];
+
+    params[0] = suExecutableFileURL.pData;
+    params[1] = env_param_.pData;
+    params[2] = temp_file_path_.pData;
+    oslProcess process;
+    oslProcessError osl_error = osl_executeProcess(
+        NULL,
+        params,
+        3,
+        osl_Process_NORMAL,
+        NULL,
+        suCWD.pData,
+        NULL,
+        0,
+        &process);
+
+    ASSERT_TRUE(osl_error == osl_Process_E_None) << "osl_createProcess failed";
+
+    osl_error = ::osl_joinProcess(process);
+
+    ASSERT_TRUE(osl_Process_E_None == osl_error) << "osl_joinProcess returned with failure";
+
+    osl_freeProcessHandle(process);
+}
+
+int main(int argc, char **argv)
+{
+    ::testing::InitGoogleTest(&argc, argv);
+    return RUN_ALL_TESTS();
+}