[SDL_Tizen] Modify SDL_Test failed 13/103913/2
authorhuiyu.eun <huiyu.eun@samsung.com>
Sat, 10 Dec 2016 10:47:03 +0000 (19:47 +0900)
committerhuiyu.eun <huiyu.eun@samsung.com>
Sat, 10 Dec 2016 12:04:12 +0000 (21:04 +0900)
Change-Id: Ia9f90a690808b4f48b666e888e8ff5017aafb426
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
src/test/SDL_test_harness.c
src/test/SDL_test_log.c
src/video/tizen/SDL_tizenvideo.c
src/video/tizen/SDL_tizenwindow.c
test/packaging/sdl_test.spec

index a291868..19f8891 100644 (file)
@@ -22,7 +22,6 @@
 #include "SDL_config.h"
 
 #include "SDL_test.h"
-
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -354,6 +353,34 @@ float GetClock()
     return currentClock / (float)CLOCKS_PER_SEC;
 }
 
+void SDLTest_writeLogFile(SDL_RWops *rwops, SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
+{
+    va_list list;
+    char logMessage[SDLTEST_MAX_LOGMESSAGE_LENGTH];
+
+    /* Print log message into a buffer */
+    SDL_memset(logMessage, 0, SDLTEST_MAX_LOGMESSAGE_LENGTH);
+    va_start(list, fmt);
+    SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, list);
+    va_end(list);
+
+    char *message = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
+    if (!message)
+        return;
+
+    size_t len = SDL_strlen(logMessage);
+    SDL_strlcpy(message, logMessage,len+1);
+
+    char *text = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
+    if(text)
+    {
+        SDL_snprintf(text, SDLTEST_MAX_LOGMESSAGE_LENGTH,  " INFO: %s: %s\n", SDLTest_TimestampToString(time(0)), message);
+        SDL_RWwrite(rwops, text, 1, SDL_strlen(text));
+        SDL_stack_free(text);
+    }
+    SDL_stack_free(message);
+
+}
 /**
 * \brief Execute a test suite using the given run seed and execution key.
 *
@@ -392,7 +419,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
     char *suiteFilterName = NULL;
     int testFilter = 0;
     char *testFilterName = NULL;
-       SDL_bool forceTestRun = SDL_FALSE;
+    SDL_bool forceTestRun = SDL_FALSE;
     int testResult = 0;
     int runResult = 0;
     Uint32 totalTestFailedCount = 0;
@@ -436,7 +463,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
     /* Log run with fuzzer parameters */
     SDLTest_Log("::::: Test Run /w seed '%s' started\n", runSeed);
 
-       /* Count the total number of tests */
+    /* Count the total number of tests */
     suiteCounter = 0;
     while (testSuites[suiteCounter]) {
         testSuite=(SDLTest_TestSuiteReference *)testSuites[suiteCounter];
@@ -445,17 +472,17 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
         while (testSuite->testCases[testCounter])
         {
             testCounter++;
-                       totalNumberOfTests++;
-               }
-       }
-
-       /* Pre-allocate an array for tracking failed tests (potentially all test cases) */
-       failedTests = (SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
-       if (failedTests == NULL) {      
-          SDLTest_LogError("Unable to allocate cache for failed tests");
+            totalNumberOfTests++;
+        }
+    }
+
+    /* Pre-allocate an array for tracking failed tests (potentially all test cases) */
+    failedTests = (SDLTest_TestCaseReference **)SDL_malloc(totalNumberOfTests * sizeof(SDLTest_TestCaseReference *));
+    if (failedTests == NULL) {
+       SDLTest_LogError("Unable to allocate cache for failed tests");
            SDL_Error(SDL_ENOMEM);         
            return -1;
-       }
+    }
 
     /* Initialize filtering */
     if (filter != NULL && filter[0] != '\0') {
@@ -498,6 +525,11 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
         }
     }
 
+
+
+
+    SDL_RWops *rwops = SDL_RWFromFile("SDL_Log_Summary.txt", "a+");
+
     /* Loop over all suites */
     suiteCounter = 0;
     while(testSuites[suiteCounter]) {
@@ -509,9 +541,8 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
         if (suiteFilter == 1 && suiteFilterName != NULL && testSuite->name != NULL &&
             SDL_strcmp(suiteFilterName, testSuite->name) != 0) {
                 /* Skip suite */
-                SDLTest_Log("===== Test Suite %i: '%s' skipped\n",
-                    suiteCounter,
-                    currentSuiteName);
+                SDLTest_Log("===== Test Suite %i: '%s' skipped\n", suiteCounter, currentSuiteName);
+                SDLTest_writeLogFile(rwops, "===== Test Suite %i: '%s' skipped\n", suiteCounter, currentSuiteName);
         } else {
 
             /* Reset per-suite counters */
@@ -524,9 +555,8 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
             suiteStartSeconds = GetClock();
 
             /* Log suite started */
-            SDLTest_Log("===== Test Suite %i: '%s' started\n",
-                suiteCounter,
-                currentSuiteName);
+            SDLTest_Log("===== Test Suite %i: '%s' started\n", suiteCounter, currentSuiteName);
+            SDLTest_writeLogFile(rwops, "===== Test Suite %i: '%s' started\n", suiteCounter, currentSuiteName);
 
             /* Loop over all test cases */
             testCounter = 0;
@@ -540,10 +570,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
                 if (testFilter == 1 && testFilterName != NULL && testCase->name != NULL &&
                     SDL_strcmp(testFilterName, testCase->name) != 0) {
                         /* Skip test */
-                        SDLTest_Log("===== Test Case %i.%i: '%s' skipped\n",
-                            suiteCounter,
-                            testCounter,
-                            currentTestName);
+                        SDLTest_Log("===== Test Case %i.%i: '%s' skipped\n", suiteCounter, testCounter, currentTestName);
                 } else {
                     /* Override 'disabled' flag if we specified a test filter (i.e. force run for debugging) */
                     if (testFilter == 1 && !testCase->enabled) {
@@ -555,13 +582,9 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
                     testStartSeconds = GetClock();
 
                     /* Log test started */
-                    SDLTest_Log("----- Test Case %i.%i: '%s' started",
-                        suiteCounter,
-                        testCounter,
-                        currentTestName);
+                    SDLTest_Log("----- Test Case %i.%i: '%s' started", suiteCounter, testCounter, currentTestName);
                     if (testCase->description != NULL && testCase->description[0] != '\0') {
-                        SDLTest_Log("Test Description: '%s'",
-                            (testCase->description) ? testCase->description : SDLTest_InvalidNameFormat);
+                        SDLTest_Log("Test Description: '%s'", (testCase->description) ? testCase->description : SDLTest_InvalidNameFormat);
                     }
 
                     /* Loop over all iterations */
@@ -577,7 +600,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
                         }
 
                         SDLTest_Log("Test Iteration %i: execKey %" SDL_PRIu64, iterationCounter, execKey);
-                                               testResult = SDLTest_RunTest(testSuite, testCase, execKey, forceTestRun);
+                        testResult = SDLTest_RunTest(testSuite, testCase, execKey, forceTestRun);
 
                         if (testResult == TEST_RESULT_PASSED) {
                             testPassedCount++;
@@ -612,12 +635,15 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
                     switch (testResult) {
                     case TEST_RESULT_PASSED:
                         SDLTest_Log((char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Passed");
+                        SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Passed");
                         break;
                     case TEST_RESULT_FAILED:
                         SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Failed");
+                        SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Test", currentTestName, "Failed");
                         break;
                     case TEST_RESULT_NO_ASSERT:
                         SDLTest_LogError((char *)SDLTest_FinalResultFormat,"Test", currentTestName, "No Asserts");
+                        SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Test", currentTestName, "No Asserts");
                         break;
                     }
 
@@ -636,18 +662,24 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
 
             /* Log suite runtime */
             SDLTest_Log("Total Suite runtime: %.1f sec", runtime);
+            SDLTest_writeLogFile(rwops, "Total Suite runtime: %.1f sec", runtime);
 
             /* Log summary and final Suite result */
             countSum = testPassedCount + testFailedCount + testSkippedCount + testUnsupportedCount;
             if (testFailedCount == 0)
             {
                 SDLTest_Log(logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
+                SDLTest_writeLogFile(rwops, logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
                 SDLTest_Log((char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Passed");
+                SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Passed");
             }
             else
             {
                 SDLTest_LogError(logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
+                SDLTest_writeLogFile(rwops, logFormat, "Suite", countSum, testPassedCount, testFailedCount, testSkippedCount, testUnsupportedCount);
                 SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Failed");
+                SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Suite", currentSuiteName, "Failed");
+
             }
 
         }
@@ -667,13 +699,18 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
     {
         runResult = 0;
         SDLTest_Log(logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
+        SDLTest_writeLogFile(rwops, logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
         SDLTest_Log((char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Passed");
+        SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Passed");
+
     }
     else
     {
         runResult = 1;
         SDLTest_LogError(logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
+        SDLTest_writeLogFile(rwops, logFormat, "Run", countSum, totalTestPassedCount, totalTestFailedCount, totalTestSkippedCount, totalTestUnsupportedCount);
         SDLTest_LogError((char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Failed");
+        SDLTest_writeLogFile(rwops, (char *)SDLTest_FinalResultFormat, "Run /w seed", runSeed, "Failed");
     }
 
     /* Print repro steps for failed tests */
@@ -683,6 +720,7 @@ int SDLTest_RunSuites(SDLTest_TestSuiteReference *testSuites[], const char *user
           SDLTest_Log(" --seed %s --filter %s", runSeed, failedTests[testCounter]->name);
         }
     }
+    SDL_RWclose(rwops);
     SDL_free(failedTests);
 
     SDLTest_Log("Exit code: %d", runResult);
index fd70832..1db5bec 100755 (executable)
@@ -79,8 +79,8 @@ void SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
     SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, list);
     va_end(list);
 
-       //write log
-       char *message;
+    //write log
+    char *message;
     message = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
     if (!message) {
         return;
@@ -89,17 +89,17 @@ void SDLTest_Log(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
     size_t len = SDL_strlen(logMessage);
     SDL_strlcpy(message, logMessage,len+1);
 
-//    SDL_RWops *rwops = SDL_RWFromFile("log.txt", "a+");
+    SDL_RWops *rwops = SDL_RWFromFile("SDL_Log_AllPrint.txt", "a+");
     char *text;
     text = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
     if(text)
     {
         SDL_snprintf(text, SDLTEST_MAX_LOGMESSAGE_LENGTH,  " INFO: %s: %s\n", SDLTest_TimestampToString(time(0)), message);
-//        SDL_RWwrite(rwops, text, 1, SDL_strlen(text));
+        SDL_RWwrite(rwops, text, 1, SDL_strlen(text));
         SDL_stack_free(text);
     }
 
-//    SDL_RWclose(rwops);
+    SDL_RWclose(rwops);
     SDL_stack_free(message);
 
     /* Log with timestamp and newline */
@@ -120,8 +120,8 @@ void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
     SDL_vsnprintf(logMessage, SDLTEST_MAX_LOGMESSAGE_LENGTH - 1, fmt, list);
     va_end(list);
 
-       //write log
-       char *message;
+    //write log
+    char *message;
     message = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
     if (!message) {
         return;
@@ -130,17 +130,17 @@ void SDLTest_LogError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...)
     size_t len = SDL_strlen(logMessage);
     SDL_strlcpy(message, logMessage,len+1);
 
-//    SDL_RWops *rwops = SDL_RWFromFile("log.txt", "a+");
+    SDL_RWops *rwops = SDL_RWFromFile("SDL_Log_AllPrint.txt", "a+");
     char *text;
     text = SDL_stack_alloc(char, SDLTEST_MAX_LOGMESSAGE_LENGTH);
     if(text)
     {
         SDL_snprintf(text, SDLTEST_MAX_LOGMESSAGE_LENGTH,  " ERROR: %s: %s\n", SDLTest_TimestampToString(time(0)), message);
-//        SDL_RWwrite(rwops, text, 1, SDL_strlen(text));
+        SDL_RWwrite(rwops, text, 1, SDL_strlen(text));
         SDL_stack_free(text);
     }
 
-//    SDL_RWclose(rwops);
+    SDL_RWclose(rwops);
     SDL_stack_free(message);
 
     /* Log with timestamp and newline */
index dacdd59..78553b0 100755 (executable)
@@ -68,6 +68,8 @@ _tizen_add_display(SDL_VideoData *d, uint32_t id)
 
     ecore_wl_screen_size_get(&mode.w, &mode.h);
     mode.refresh_rate = 60; //Hz
+    mode.format = SDL_PIXELFORMAT_ARGB8888;
+
     SDL_AddDisplayMode(&display, &mode);
 
     display.current_mode = mode;
index 2724946..58ee7c6 100755 (executable)
@@ -237,6 +237,7 @@ Tizen_CreateWindow(_THIS, SDL_Window *window)
     }
 
     window->driverdata = wind;
+    window->flags |= SDL_WINDOW_INPUT_FOCUS;    /* always has input focus */
 
 #if SDL_VIDEO_OPENGL_EGL
     if (window->flags & SDL_WINDOW_OPENGL) {
index 78702dd..012b1e4 100755 (executable)
@@ -18,8 +18,8 @@ BuildRequires:  pkgconfig(egl)
 BuildRequires:  pkgconfig(glesv2)
 BuildRequires:  pkgconfig(glesv1)
 BuildRequires:  pkgconfig(sdl2)
-#BuildRequires:  Vulkan-LoaderAndValidationLayers
-#BuildRequires:  Vulkan-LoaderAndValidationLayers-devel
+BuildRequires:  Vulkan-LoaderAndValidationLayers
+BuildRequires:  Vulkan-LoaderAndValidationLayers-devel
 %define _packagedir /opt/usr/apps/%{name}
 %define _resdir %{_packagedir}/res
 
@@ -63,6 +63,7 @@ rm -rf %{buildroot}
 rm -rf %{buildroot}
 
 %post
+chmod 777 %{_packagedir}
 
 %files
 %defattr(-,root,root,-)