libexif / exif

A small command-line utility to show EXIF information hidden in JPEG files
GNU Lesser General Public License v2.1
56 stars 22 forks source link

0.6.22 fails check-add-tags.sh test on ppc32 #18

Closed ernsteiswuerfel closed 2 weeks ago

ernsteiswuerfel commented 4 weeks ago

0.6.22 fails tests on ppc32. This is the output of resulting test/test-suite.log:

================================================================
   libexif command line interface 0.6.22: test/test-suite.log
================================================================

# TOTAL: 12
# PASS:  11
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: check-add-tags.sh
=======================

Create an empty EXIF tag block
Wrote file 'add-tag-src.out.jpg'.
Create SHORT value
Create SHORT value array
Create SHORT value (enum)
Create SHORT value (hex tag)
Create SHORT value (decimal tag)
Create SHORT value (tag title)
Create LONG value
Create RATIONAL value
Create RATIONAL value array
Create SRATIONAL value
Create UNDEFINED value
Create UNDEFINED value array
Create ASCII value
Create ASCII value (User Comment)
Must be 14 tags: 14
Test invalid RATIONAL--not enough components
Too few components specified (need 2, found 1)
Test invalid RATIONAL--not digits
Numeric value expected
Test invalid SHORT--no value
Too few components specified (need 1, found 0)
Test invalid SHORT--invalid tag
Setting a value for this tag is unsupported!
Test invalid RATIONAL--too many components
Warning; Too many components specified!
Create invalid ASCII--too large
Too much EXIF data (66264 bytes). Only 65535 bytes are allowed.
1,18c1,18
< 0x010e    The image description
< 0x011a    6.0
< 0x013e    4.5, 6.3
< 0x0212    YCbCr4:2:0
< 0x011b    72
< 0x0128    Inch
< 0x9204    -1.50 EV
< 0x9286    The user comment
< 0xa000    Unknown FlashPix Version
< 0xa002    64
< 0xa301    Directly photographed
< 0xa401    2
< 0xa402    Manual exposure
< 0xa403    Manual white balance
< 0xa405    12345
< 0xa406    Night scene
< 0x9000    Exif Version 2.1
< 0xa001    Uncalibrated
---
> Image Description The image description
> X-Resolution  6.0
> White Point   4.5, 6.3
> YCbCr Sub-Sampling    YCbCr4:2:0
> Y-Resolution  72
> Resolution Unit   Inch
> Exposure Bias -1.50 EV
> User Comment  The user comment
> FlashPixVersion   Unknown FlashPix Version
> Pixel X Dimension 64
> Scene Type    Directly photographed
> Custom Rendered   2
> Exposure Mode Manual exposure
> White Balance Manual white balance
> Focal Length in 35mm Film 12345
> Scene Capture Type    Night scene
> Exif Version  Exif Version 2.1
> Color Space   Uncalibrated
 FAILED (1).
Test complete: status 1
FAIL check-add-tags.sh (exit status: 1)

This is Gentoo downstream bug 867901. test-suite.log exif-0.6.22-r1:20241027-195007.log

dfandrich commented 4 weeks ago

What version of libexif were you using? Is this architecture little-endian or big-endian?

ernsteiswuerfel commented 4 weeks ago

libexif-0.6.24. The architecture (ppc32) is Big Endian.

msmeissn commented 2 weeks ago

and version of exif?

it seems -i does not work correctly, but i dont see any particular endianess issue in the exif code when using p.use_ids so far

ernsteiswuerfel commented 2 weeks ago

and version of exif?

0.6.24.

it seems -i does not work correctly, but i dont see any particular endianess issue in the exif code when using p.use_ids so far

Turns out this is a dupe of #2.

Figured that out as current exif git-master passes tests:

PASS: check-add-tags.sh
PASS: check-create-tags.sh
PASS: check-help.sh
PASS: check-init-mandatory-tags.sh
PASS: check-no-seek.sh
PASS: check-param-validity.sh
PASS: check-required-file.sh
PASS: check-show-description.sh
PASS: check-show-tag.sh
PASS: check-tag-description.sh
PASS: check-thumbnail.sh
PASS: check-version.sh
============================================================================
Testsuite summary for libexif command line interface 0.6.22.1
============================================================================
# TOTAL: 12
# PASS:  12
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0

It's just that 0.6.22.1 has not been released yet. Applying the 2 fixes from #2 on 0.6.22 also makes the test pass.

Thanks for your help so far and sorry for the noise!

dfandrich commented 2 weeks ago

I tried the latest libexif and exif from HEAD on a big-endian 64-bit POWER7 8231-E2B running Linux and a 32-bit big-endian POWER7 8231-E2C running AIX and the internal tests passed (notwithstanding a pair of test issues on the latter because of AIX environment idiosyncrasies).