dropbox / lepton

Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
https://blogs.dropbox.com/tech/2016/07/lepton-image-compression-saving-22-losslessly-from-images-at-15mbs/
Apache License 2.0
5.01k stars 354 forks source link

Unit test fails in 32 bits platform #47

Closed czchen closed 8 years ago

czchen commented 8 years ago

See Debian build log here, the unit test fails at Debian i386 architecture.

danielrh commented 8 years ago

Let me know if the new master works: if so I can cut another release

czchen commented 8 years ago

The 32-bit build still has test cases fail in version 3dbe2caa592e75deccd303f44dac9b91701a8b0e. You can get the 32-bit build environment in the following command in docker.

docker pull 32bit/debian
docker run -it 32bit/debian bash

The following is unit test result.

PASS: test_suite/test_recode_memory_bound
PASS: test_suite/test_invariants
PASS: test_suite/test_baseline_ujg
PASS: test_suite/test_baseline
PASS: test_suite/test_misc
PASS: test_suite/test_iphone
PASS: test_suite/test_phone_outdoor
PASS: test_suite/test_truncate
PASS: test_suite/test_android_lowmem
PASS: test_suite/test_SLR
PASS: test_suite/test_progressive_ujg
PASS: test_suite/test_progressive_disallowed
PASS: test_suite/test_progressive
PASS: test_suite/test_arithmetic_failfast
PASS: test_suite/test_hq
FAIL: test_suite/forktester.py
FAIL: test_suite/sockettester.py
PASS: src/lepton/test_custom_table.sh
PASS: test_suite/test_baseline_unjailed
PASS: test_suite/test_baseline_unjailed_thread
PASS: test_suite/test_baseline_unjailed_decode
PASS: test_suite/test_baseline_unjailed_decode_thread
PASS: test_suite/test_seccomp_encode_main
PASS: test_suite/test_seccomp_encode_thread
PASS: test_suite/test_seccomp_decode_main
PASS: test_suite/test_seccomp_decode_thread
PASS: test_suite/test_truncate_lowmem
PASS: test_suite/test_nofsync
PASS: test_suite/test_colorswap
PASS: test_suite/test_odd_rst
PASS: test_suite/test_trailing_header
PASS: test_suite/test_trailing_rst
PASS: test_suite/test_legacy.sh
PASS: test_suite/test_gray2sf
PASS: test_suite/test_2nd_block.sh
PASS: test_suite/test_3rd_block.sh
PASS: test_suite/test_last_block.sh
PASS: test_suite/test_truncated_zero_run
PASS: test_suite/test_bad_zero_run
make[4]: Entering directory '/home/lepton'
make  all-am
make[5]: Entering directory '/home/lepton'
make[5]: Leaving directory '/home/lepton'
make[4]: Leaving directory '/home/lepton'
============================================================================
Testsuite summary for lepton 0.01
============================================================================
# TOTAL: 39
# PASS:  37
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to danielrh@dropbox.com
============================================================================
Makefile:2280: recipe for target 'test-suite.log' failed
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory '/home/lepton'
Makefile:2386: recipe for target 'check-TESTS' failed
make[2]: *** [check-TESTS] Error 2
make[2]: Leaving directory '/home/lepton'
Makefile:2858: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory '/home/lepton'
Makefile:3013: recipe for target 'test' failed
make: *** [test] Error 2
danielrh commented 8 years ago

Thanks for the report! Looks like it is running python3 Will make those 2 tests respect python3 syntax

danielrh commented 8 years ago

I made the testing library python3 compatible--that was a lot of details: https://github.com/dropbox/lepton/commit/3d339f168b651608b188fbaa35ca8422ee20d906 try again? Unfortunately docker isn't compatible with ubuntu 12.04 to the best of my knowledge and my 16.04 machine has not enough disk space... so we may have to go the slow way of a long turnaround--but I think this one will work looking at your logs

czchen commented 8 years ago

All test cases pass in 3d339f168b651608b188fbaa35ca8422ee20d906 when using docker image 32bit/debian, thanks for the help.