From 4cb028cd97c897b4160b57429ceba6563c81c61f Mon Sep 17 00:00:00 2001 From: Artur Zakirov Date: Tue, 14 Feb 2017 17:45:18 +0300 Subject: [PATCH] Show dashes if there isn't recovery time of a backup --- show.c | 5 +++-- tests/pb_lib.py | 29 +++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/show.c b/show.c index 0eefcca9..264e470e 100644 --- a/show.c +++ b/show.c @@ -189,13 +189,14 @@ show_backup_list(FILE *out, parray *backup_list) pgBackup *backup; const char *modes[] = { "", "PAGE", "PTRACK", "FULL", "", "PAGE+STREAM", "PTRACK+STREAM", "FULL+STREAM"}; TimeLineID parent_tli; - char timestamp[20]; + char timestamp[20] = "----"; char duration[20] = "----"; char data_bytes_str[10] = "----"; backup = parray_get(backup_list, i); - time2iso(timestamp, lengthof(timestamp), backup->recovery_time); + if (backup->recovery_time != (time_t) 0) + time2iso(timestamp, lengthof(timestamp), backup->recovery_time); if (backup->end_time != (time_t) 0) snprintf(duration, lengthof(duration), "%lum", (backup->end_time - backup->start_time) / 60); diff --git a/tests/pb_lib.py b/tests/pb_lib.py index 393aa6e7..3dbf8344 100644 --- a/tests/pb_lib.py +++ b/tests/pb_lib.py @@ -19,17 +19,30 @@ def dir_files(base_dir): class ShowBackup(object): def __init__(self, split_line): - self.id = split_line[0] + self.counter = 0 + + self.id = self.get_inc(split_line) # TODO: parse to datetime - self.recovery_time = "%s %s" % (split_line[1], split_line[2]) - self.mode = split_line[3] - self.cur_tli = split_line[4] - self.parent_tli = split_line[6] + if len(split_line) == 10: + self.recovery_time = "%s %s" % (self.get_inc(split_line), + self.get_inc(split_line)) + # if recovery time is '----' + else: + self.recovery_time = self.get_inc(split_line) + self.mode = self.get_inc(split_line) + self.cur_tli = self.get_inc(split_line) + # slash + self.counter += 1 + self.parent_tli = self.get_inc(split_line) # TODO: parse to interval - self.time = split_line[7] + self.time = self.get_inc(split_line) # TODO: maybe rename to size? - self.data = split_line[8] - self.status = split_line[9] + self.data = self.get_inc(split_line) + self.status = self.get_inc(split_line) + + def get_inc(self, split_line): + self.counter += 1 + return split_line[self.counter - 1] class ProbackupTest(object):