From 127f583f6195c9797e124752a7b5640142e0f6fe Mon Sep 17 00:00:00 2001
From: gpotter2 <gabriel@potter.fr>
Date: Sun, 26 Mar 2017 20:02:19 +0200
Subject: [PATCH] Fixed ppi test during summer

---
 scapy/contrib/ppi_geotag.uts | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/scapy/contrib/ppi_geotag.uts b/scapy/contrib/ppi_geotag.uts
index 9b1f38dc..2a986a04 100644
--- a/scapy/contrib/ppi_geotag.uts
+++ b/scapy/contrib/ppi_geotag.uts
@@ -32,14 +32,24 @@ assert GPSTime_Field("GPSTime", None).delta == 0.0
 
 local_time = time.localtime()
 utc_time = UTCTimeField("Test", None, epoch=local_time)
-assert time.localtime(utc_time.epoch) == time.localtime()
-assert time.gmtime(utc_time.delta) == time.localtime()
-assert utc_time.i2repr(None, None) == (time.strftime("%a, %d %b %Y %H:%M:%S +0000", local_time) + " (" + str(int(utc_time.delta)) + ")")
+assert time.localtime(utc_time.epoch) == local_time
+assert time.mktime(time.gmtime(utc_time.delta)) == time.mktime(local_time)
+strft_time = time.strftime("%a, %d %b %Y %H:%M:%S +0000", local_time)
+if local_time.tm_isdst:
+    # Fix hour in case of summer time
+    strft_time = re.sub(r"(\d+)(:\d+:\d+)", (str(local_time.tm_hour - 1) + r"\2"), strft_time)
+
+assert utc_time.i2repr(None, None) == (strft_time + " (" + str(int(utc_time.delta)) + ")")
 
 = Test LETimeField with time values
 
 local_time = time.localtime()
 lme_time = LETimeField("Test", None, epoch=local_time)
 assert time.localtime(lme_time.epoch) == local_time
-assert time.gmtime(lme_time.delta) == local_time
-assert lme_time.i2repr(None, None) == (time.strftime("%a, %d %b %Y %H:%M:%S +0000", local_time) + " (" + str(int(lme_time.delta)) + ")")
+assert time.mktime(time.gmtime(lme_time.delta)) == time.mktime(local_time)
+strft_time = time.strftime("%a, %d %b %Y %H:%M:%S +0000", local_time)
+if local_time.tm_isdst:
+    # Fix hour in case of summer time
+    strft_time = re.sub(r"(\d+)(:\d+:\d+)", (str(local_time.tm_hour - 1) + r"\2"), strft_time)
+
+assert lme_time.i2repr(None, None) == (strft_time + " (" + str(int(lme_time.delta)) + ")")
-- 
GitLab