utests: fix getchar issue 02/173802/2
authorBoram Park <boram1288.park@samsung.com>
Mon, 26 Mar 2018 03:00:27 +0000 (12:00 +0900)
committerBoram Park <boram1288.park@samsung.com>
Mon, 26 Mar 2018 05:14:34 +0000 (14:14 +0900)
Change-Id: I1e217b2594be0b46564626d8fe103a49fb3f6349

utests/src/ut_tdm.h
utests/src/ut_tdm_backend_display.cpp

index 4f899e1..63662e1 100644 (file)
@@ -105,46 +105,6 @@ extern bool enable_porting_debug;
                } \
        } while(0)
 
-#define TDM_UT_ASK_YNR(fmt, ...) \
-       do { \
-               if (enable_porting_debug) { \
-                       char ch; \
-                       printf(fmt" [Y]es, [n]o, [r]etry: ", ##__VA_ARGS__); \
-                       do { \
-                               ch = getchar(); \
-                               if (ch == '\n') \
-                                       ch = 'y'; \
-                               else { \
-                                       char tch; \
-                                       while ((tch = getchar()) != '\n' && tch != EOF); \
-                               } \
-                       } while (ch != 'y' && ch != 'Y' && ch != 'n' && ch != 'N' && ch != 'r' && ch != 'R'); \
-                       if (ch == 'n' || ch == 'N') \
-                               GTEST_FATAL_FAILURE_("tc failed"); \
-                       if (ch == 'r' || ch == 'R') \
-                               goto retry; \
-               } \
-       } while (0)
-
-#define TDM_UT_ASK_YN(fmt, ...) \
-                       do { \
-                               if (enable_porting_debug) { \
-                                       char ch; \
-                                       printf(fmt" [Y]es, [n]o: ", ##__VA_ARGS__); \
-                                       do { \
-                                               ch = getchar(); \
-                                               if (ch == '\n') \
-                                                       ch = 'y'; \
-                                               else { \
-                                                       char tch; \
-                                                       while ((tch = getchar()) != '\n' && tch != EOF); \
-                                               } \
-                                       } while (ch != 'y' && ch != 'Y' && ch != 'n' && ch != 'N'); \
-                                       if (ch == 'n' || ch == 'N') \
-                                               GTEST_FATAL_FAILURE_("tc failed"); \
-                               } \
-                       } while (0)
-
 #define TDM_UT_SIZE_ALIGN(value, base) (((value) + ((base) - 1)) & ~((base) - 1))
 
 #define TDM_UT_DUMP_DIR          "/tmp/tdm_dump"
@@ -278,4 +238,21 @@ public:
        void TearDown(void) { TDMBackendBasic::TearDown(); }
 };
 
+char ut_tdm_backend_getchar(void);
+
+#define TDM_UT_ASK_YNR(fmt, ...) \
+       do { \
+               if (enable_porting_debug) { \
+                       char ch; \
+                       do { \
+                               printf(fmt" [Y]es, [n]o, [r]etry): ", ##__VA_ARGS__); \
+                               ch = ut_tdm_backend_getchar(); \
+                       } while(ch != 'y' && ch != 'n' && ch != 'r'); \
+                       if (ch == 'n') \
+                               GTEST_FATAL_FAILURE_("tc failed"); \
+                       if (ch == 'r') \
+                               goto retry; \
+               } \
+       } while (0)
+
 #endif // _UT_TDM_H_
index 69d7022..58127a8 100644 (file)
@@ -122,6 +122,23 @@ void TDMBackendBasic::DestroyBuffers(void)
        }
 }
 
+char
+ut_tdm_backend_getchar(void)
+{
+       int c = getchar();
+       int ch = c;
+
+       if (ch == '\n' || ch == '\r')
+               ch = 'y';
+       else if (ch < 'a')
+               ch += ('a' - 'A');
+
+       while (c != '\n' && c != EOF)
+               c = getchar();
+
+       return ch;
+}
+
 TEST_P(TDMBackendBasic, VerifyOutputObject)
 {
        tdm_error ret;