logprint: bring back line breaks in all remaining formats 39/247039/2
authorAdrian Szyndela <adrian.s@samsung.com>
Fri, 6 Nov 2020 08:38:21 +0000 (09:38 +0100)
committerAdrian Szyndela <adrian.s@samsung.com>
Fri, 6 Nov 2020 08:56:51 +0000 (08:56 +0000)
The commit efa5c1ff changed tests behavior for inline warnings
however this was made due to some mistakes, mainly this one:
- line break tests were incomplete, they tested only few formats;
  this led me to think that these were the only formats that should
  be prefixed with the tag on every line. It wasn't true.

This commit fixes the formats by:
- switching the formats' line breaking behavior;
- adding line breaks tests for every missing format;
- bringing back the original inline warning tests.

Change-Id: If6db7b548e9ab1a0d6395968ee512447558afc1f

src/shared/logprint.c
src/tests/logprint.c

index 680b6cf..eb2506c 100644 (file)
@@ -1319,16 +1319,16 @@ int log_print_log_line(
                char *no_color_suffix;
        } format_info[] = {
                [FORMAT_OFF]           = { NULL                         , false, ""    },
-               [FORMAT_BRIEF]         = { format_metadata_brief        , false, "\n"  },
+               [FORMAT_BRIEF]         = { format_metadata_brief        , true , "\n"  },
                [FORMAT_PROCESS]       = { format_metadata_process      , true , ""    },
-               [FORMAT_TAG]           = { format_metadata_tag          , false, "\n"  },
-               [FORMAT_THREAD]        = { format_metadata_thread       , false, "\n"  },
+               [FORMAT_TAG]           = { format_metadata_tag          , true , "\n"  },
+               [FORMAT_THREAD]        = { format_metadata_thread       , true , "\n"  },
                [FORMAT_RAW]           = { NULL                         , false, "\n"  },
-               [FORMAT_TIME]          = { format_metadata_time         , false, "\n"  },
-               [FORMAT_THREADTIME]    = { format_metadata_threadtime   , true, "\n"  },
+               [FORMAT_TIME]          = { format_metadata_time         , true , "\n"  },
+               [FORMAT_THREADTIME]    = { format_metadata_threadtime   , true , "\n"  },
                [FORMAT_KERNELTIME]    = { format_metadata_kerneltime   , true , "\n"  },
                [FORMAT_RECV_REALTIME] = { format_metadata_recv_realtime, true , "\n"  },
-               [FORMAT_RWTIME]        = { format_metadata_rwtime       , false, "\n"  },
+               [FORMAT_RWTIME]        = { format_metadata_rwtime       , true , "\n"  },
                [FORMAT_LONG]          = { format_metadata_long         , false, "\n\n"},
        };
 
index 17bab5c..4f5f7d5 100644 (file)
@@ -305,6 +305,12 @@ void check_log_print_log_line()
        /* Some formats insert the extra info (timestamp, tag etc) every time they
         * find a line break. The tag itself is never broken up though. */
        static const struct logprint_test_case tests_linebreak[] = {
+               {FORMAT_TIME, DLOG_INFO, false,
+                       "03-14 23:22:51.451+0000 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): And\n"
+                       "03-14 23:22:51.451+0000 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): so\n"
+                       "03-14 23:22:51.451+0000 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): does\n"
+                       "03-14 23:22:51.451+0000 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): this\n"
+                       "03-14 23:22:51.451+0000 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): message.\n" },
                {FORMAT_LONG, DLOG_INFO, false,
                        "[ 03-14 23:22:51.451 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES P 4228, T 4567]\n"
                        "And\nso\ndoes\nthis\nmessage.\n\n" },
@@ -326,12 +332,38 @@ void check_log_print_log_line()
                        "02-01 00:05:17.734 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): does\n"
                        "02-01 00:05:17.734 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): this\n"
                        "02-01 00:05:17.734 I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): message.\n" },
+               {FORMAT_RWTIME, DLOG_INFO, false,
+                       "02-01 00:05:17 [3205048.235] I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): And\n"
+                       "02-01 00:05:17 [3205048.235] I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): so\n"
+                       "02-01 00:05:17 [3205048.235] I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): does\n"
+                       "02-01 00:05:17 [3205048.235] I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): this\n"
+                       "02-01 00:05:17 [3205048.235] I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES(P 4228, T 4567): message.\n" },
+               {FORMAT_BRIEF, DLOG_INFO, false,
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): And\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): so\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): does\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): this\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES( 4228): message.\n" },
                {FORMAT_PROCESS, DLOG_INFO, false,
                        "I( 4228) And  (THIS\nTAG\nTAKES\nMULTIPLE\nLINES)\n"
                        "I( 4228) so  (THIS\nTAG\nTAKES\nMULTIPLE\nLINES)\n"
                        "I( 4228) does  (THIS\nTAG\nTAKES\nMULTIPLE\nLINES)\n"
                        "I( 4228) this  (THIS\nTAG\nTAKES\nMULTIPLE\nLINES)\n"
                        "I( 4228) message.  (THIS\nTAG\nTAKES\nMULTIPLE\nLINES)\n" },
+               {FORMAT_TAG, DLOG_INFO, false,
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES: And\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES: so\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES: does\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES: this\n"
+                       "I/THIS\nTAG\nTAKES\nMULTIPLE\nLINES: message.\n" },
+               {FORMAT_THREAD, DLOG_INFO, false,
+                       "I(P 4228, T 4567) And\n"
+                       "I(P 4228, T 4567) so\n"
+                       "I(P 4228, T 4567) does\n"
+                       "I(P 4228, T 4567) this\n"
+                       "I(P 4228, T 4567) message.\n" },
+               {FORMAT_RAW, DLOG_INFO, false,
+                       "And\nso\ndoes\nthis\nmessage.\n" },
        };
        CHECK_LOGPRINT_TESTCASES("THIS\nTAG\nTAKES\nMULTIPLE\nLINES\0And\nso\ndoes\nthis\nmessage.", tests_linebreak);
 
@@ -461,7 +493,7 @@ void check_log_print_log_line()
        static const struct logprint_test_case tests_fixup_pipe[] = {
                // formats using the SENT timestamp (nominally)
                {FORMAT_TIME         , DLOG_INFO, false, "02-01 00:05:17.734+0000 I/BASIC TAG(    0): Basic message.\n"
-                                                        "[dlog inline warning: modified invalid timestamp]\n"              },
+                                                        "02-01 00:05:17.734+0000 I/BASIC TAG(    0): [dlog inline warning: modified invalid timestamp]\n"              },
                {FORMAT_LONG         , DLOG_INFO, false, "[ 02-01 00:05:17.734 I/BASIC TAG P    0, T    0]\n"
                                                         "Basic message.\n"
                                                         "[dlog inline warning: modified invalid timestamp]\n\n"                                                        },
@@ -474,17 +506,17 @@ void check_log_print_log_line()
                {FORMAT_RECV_REALTIME, DLOG_INFO, false, "02-01 00:05:17.734 I/BASIC TAG(P    0, T    0): Basic message.\n"
                                                         "02-01 00:05:17.734 I/BASIC TAG(P    0, T    0): [dlog inline warning: modified invalid timestamp]\n"          },
                {FORMAT_RWTIME       , DLOG_INFO, false, "02-01 00:05:17 [365467.346] I/BASIC TAG(P    0, T    0): Basic message.\n"
-                                                        "[dlog inline warning: modified invalid timestamp]\n" },
+                                                        "02-01 00:05:17 [365467.346] I/BASIC TAG(P    0, T    0): [dlog inline warning: modified invalid timestamp]\n" },
 
                // formats without a timestamp
                {FORMAT_BRIEF        , DLOG_INFO, false, "I/BASIC TAG(    0): Basic message.\n"
-                                                        "[dlog inline warning: modified invalid timestamp]\n"                                      },
+                                                        "I/BASIC TAG(    0): [dlog inline warning: modified invalid timestamp]\n"                                      },
                {FORMAT_PROCESS      , DLOG_INFO, false, "I(    0) Basic message.  (BASIC TAG)\n"
                                                         "I(    0) [dlog inline warning: modified invalid timestamp]  (BASIC TAG)\n"                                    },
                {FORMAT_TAG          , DLOG_INFO, false, "I/BASIC TAG: Basic message.\n"
-                                                        "[dlog inline warning: modified invalid timestamp]\n"                                             },
+                                                        "I/BASIC TAG: [dlog inline warning: modified invalid timestamp]\n"                                             },
                {FORMAT_THREAD       , DLOG_INFO, false, "I(P    0, T    0) Basic message.\n"
-                                                        "[dlog inline warning: modified invalid timestamp]\n"                                        },
+                                                        "I(P    0, T    0) [dlog inline warning: modified invalid timestamp]\n"                                        },
                {FORMAT_RAW          , DLOG_INFO, false, "Basic message.\n"
                                                         "[dlog inline warning: modified invalid timestamp]\n"                                                          },
                // JSON