Bug #1073
test/bugfixes-test.sh is producing results that change with the time-zone
100%
Description
When run in BST:
930 rmills@rmillsmbp:~/gnu/exiv2/trunk/test $ date +%Z BST 931 rmills@rmillsmbp:~/gnu/exiv2/trunk/test $ ./bugfixes-test.sh 426 440 443 444 445 447 452 460 479 480 495 498 501 528 540 554 662 666 683 711 726 751 769 784 799 800 812 831 (836 skipped) 841 876 884 922 937 937a 1026 1040 1043 1044 1053 1054 1058 1062 all testcases passed.Now manually change the timezone to PDT (8 hours behind):
932 rmills@rmillsmbp:~/gnu/exiv2/trunk/test $ date +%Z PDT 933 rmills@rmillsmbp:~/gnu/exiv2/trunk/test $ ./bugfixes-test.sh 426 440 443 444 445 447 452 460 479 480 495 498 501 528 540 554 662 666 683 711 726 751 769 784 799 800 812 831 (836 skipped) 841 876 884 922 937 937a 1026 1040 1043 1044 1053 1054 1058 1062 Files /Users/rmills/gnu/exiv2/trunk/test/tmp/bugfixes-test.out-stripped and /Users/rmills/gnu/exiv2/trunk/test/data/bugfixes-test.out differ 2055c2055 < "DateTime": "2005:09:07 15:09:51", --- > "DateTime": "2005:09:07 23:09:51", 2063c2063 < "DateTimeDigitized": "2005:09:07 15:07:40" --- > "DateTimeDigitized": "2005:09:07 23:07:40" 934 rmills@rmillsmbp:~/gnu/exiv2/trunk/test $
Associated revisions
#1073 test/tiff-test.sh rewritten to no longer require external utility exifprobe
History
Updated by Robin Mills over 6 years ago
Curious. This is coming from the test for #1058. I happened to be using $ exiv2json test/data/BlueSquare.xmp, however exiv2json is irrelevant - that's just a formatter. We can reproduce this with:
525 rmills@rmillsmbp:~/gnu/exiv2/trunk $ exiv2 -pa test/data/BlueSquare.xmp | grep Digitized Exif.Photo.DateTimeDigitized Ascii 20 2005:09:07 15:07:40 526 rmills@rmillsmbp:~/gnu/exiv2/trunk $The issue is being cause by timezone information the xmp:
xap:CreateDate="2005-09-07T15:07:40-07:00"So, it's not an issue. It's correct behaviour. Curiously, the issue doesn't occur on Windows - so perhaps we have a convertor bug in Windows.
I will modify the test to avoid reporting times depend on the TZ of the host computer running the test. At least 3 ways to fix it:
- Filter out the Dates and Times | grep -v -e Date -v -e Time
- Use a different test file that doesn't have TZ information
- Set an environment string for TZ (I think this will work)
Updated by Robin Mills over 6 years ago
Fix submitted: r3774
Easily fixed by setting the time-zone in test/functions.source
prepareTest() { ## # locale and TZ setting export LC_ALL=C export TZ=BST-1 # <----- Use this. Robin submitted the reference file in British Summer TimeI also changed the timezone on the build server to Helsinki EEST (East European Summer Time) (+1 in Summer) EEST.
Jenkins build 1999. http://exiv2.dyndns.org:8080/job/Exiv2-trunk/1999/ [Jenkins/Linux is screwed up. However I've built manually and it's OK. I'll cleanup the Jenkins Linux Workspace. It'll be fine.
Stop Press
The builder had run out of disk-space. It's fine. I rebuilt Linux- jenkins build 2000. http://exiv2.dyndns.org:8080/job/Exiv2-trunk/2000/
#1073. I'm going to change the time-zone on the build server to Finland (FST+1) while this builds.