yanglw115 / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

ARM unittest failures #506

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Build and run libyuv unittests on android.

GYP_DEFINES="OS=android" GYP_CROSSCOMPILE=1 ./gyp_libyuv 
ninja -j7 -C out/Release libyuv_unittest_apk
util/android/test_runner.py gtest -t 1800 -s libyuv_unittest --verbose 
--release --gtest_filter=*

Some tests pass, but many fail or hang.
To narrow it down, the tests are now broken into categories

util/android/test_runner.py gtest -s libyuv_unittest --release 
--gtest_filter=LibYUVBaseTest.*
[  PASSED  ] 22 tests.

util/android/test_runner.py gtest -s libyuv_unittest --release 
--gtest_filter=LibYUVPlanarTest.*
[  PASSED  ] 101 tests.

util/android/test_runner.py gtest -s libyuv_unittest --release 
--gtest_filter=LibYUVRotateTest.*
[  PASSED  ] 36 tests.

util/android/test_runner.py gtest -s libyuv_unittest --release 
--gtest_filter=LibYUVScaleTest.*
Hangs.  201 tests.

util/android/test_runner.py gtest -s libyuv_unittest --release 
--gtest_filter=LibYUVConvertTest.*
Hangs.  487 tests.

Original issue reported on code.google.com by fbarch...@chromium.org on 14 Oct 2015 at 6:27

GoogleCodeExporter commented 8 years ago
scale color test disabled.
util/android/test_runner.py gtest -s libyuv_unittest --release 
--gtest_filter=LibYUVScaleTest.*
[  PASSED  ] 192 tests.

Most conversions fall into I420To*, *ToI420, ARGBTo* or *ToARGB
These all pass, except the I420To* ones.

Original comment by fbarch...@chromium.org on 14 Oct 2015 at 10:31

GoogleCodeExporter commented 8 years ago
In r1509 color tests are in a different group of tests.
and disables the C vs ASM test.  The rest pass.

[----------] 6 tests from LibYUVColorTest
[ RUN      ] LibYUVColorTest.TestRoundToByte
[       OK ] LibYUVColorTest.TestRoundToByte (0 ms)
[ RUN      ] LibYUVColorTest.TestYUV
[       OK ] LibYUVColorTest.TestYUV (0 ms)
[ RUN      ] LibYUVColorTest.TestGreyYUV
[       OK ] LibYUVColorTest.TestGreyYUV (0 ms)
[ RUN      ] LibYUVColorTest.TestFullYUV
hist           -3              -2              -1               0               
1               2
red             0               0          568320        15632384          
576512               0
green           0               0          212963        16350646          
213607               0
blue        14848          644608         1990400        11362816         
2052352          693760           1843
[       OK ] LibYUVColorTest.TestFullYUV (2394 ms)
[ RUN      ] LibYUVColorTest.TestFullYUVJ
hist           -1               0               1
red       1329408        14306304         1141504
green     1991639        12981998         1803579
blue      1413120        14024704         1339392
[       OK ] LibYUVColorTest.TestFullYUVJ (2288 ms)
[ RUN      ] LibYUVColorTest.TestGreyYUVJ
[       OK ] LibYUVColorTest.TestGreyYUVJ (0 ms)
[----------] 6 tests from LibYUVColorTest (4685 ms total)

[----------] Global test environment tear-down
[==========] 6 tests from 1 test case ran. (4686 ms total)
[  PASSED  ] 6 tests.

That leaves the Convert Tests, which fail on YUV to RGB.
Suspecting its the C version of the code that fails, not Neon.

Original comment by fbarch...@chromium.org on 15 Oct 2015 at 1:54

GoogleCodeExporter commented 8 years ago
arm64 tests pass except NV21:

I   18.138s run_tests_on_device(HT4A2JT03762)  Note: Google Test filter = 
LibYUVConvertTest.NV21ToARGB_Any
I   18.138s run_tests_on_device(HT4A2JT03762)  [==========] Running 1 test from 
1 test case.
I   18.138s run_tests_on_device(HT4A2JT03762)  [----------] Global test 
environment set-up.
I   18.138s run_tests_on_device(HT4A2JT03762)  [----------] 1 test from 
LibYUVConvertTest
I   18.138s run_tests_on_device(HT4A2JT03762)  [ RUN      ] 
LibYUVConvertTest.NV21ToARGB_Any
I   18.138s run_tests_on_device(HT4A2JT03762)  
../../unit_test/convert_test.cc:672: Failure
I   18.138s run_tests_on_device(HT4A2JT03762)  Expected: (max_diff) <= (2), 
actual: 255 vs 2
I   18.138s run_tests_on_device(HT4A2JT03762)  [  FAILED  ] 
LibYUVConvertTest.NV21ToARGB_Any (4 ms)
I   18.138s run_tests_on_device(HT4A2JT03762)  [----------] 1 test from 
LibYUVConvertTest (4 ms total)
I   18.139s run_tests_on_device(HT4A2JT03762)  
I   18.139s run_tests_on_device(HT4A2JT03762)  [----------] Global test 
environment tear-down
I   18.139s run_tests_on_device(HT4A2JT03762)  [==========] 1 test from 1 test 
case ran. (4 ms total)
I   18.139s run_tests_on_device(HT4A2JT03762)  [  PASSED  ] 0 tests.
I   18.139s run_tests_on_device(HT4A2JT03762)  [  FAILED  ] 1 test, listed 
below:
I   18.139s run_tests_on_device(HT4A2JT03762)  [  FAILED  ] 
LibYUVConvertTest.NV21ToARGB_Any
I   18.139s run_tests_on_device(HT4A2JT03762)  
I   18.139s run_tests_on_device(HT4A2JT03762)   1 FAILED TEST

Original comment by fbarch...@google.com on 15 Oct 2015 at 9:34

GoogleCodeExporter commented 8 years ago
r1510 fixed C version of YUV to RGB which was used in unittests.

[==========] 834 tests ran.
[  PASSED  ] 832 tests.
[  FAILED  ] 2 tests, listed below:
[  FAILED  ] LibYUVConvertTest.NV21ToARGB_Any
[  FAILED  ] LibYUVConvertTest.HaveJPEG (UNKNOWN)

Original comment by fbarch...@chromium.org on 15 Oct 2015 at 9:59

GoogleCodeExporter commented 8 years ago
armv7
I   62.230s Main  FINISHED TRY #1/3
I   62.230s Main  All tests completed.
C   62.231s Main  
********************************************************************************
C   62.231s Main  Summary
C   62.231s Main  
********************************************************************************
C   62.232s Main  [==========] 837 tests ran.
C   62.232s Main  [  PASSED  ] 837 tests.
C   62.232s Main  
********************************************************************************

Original comment by fbarch...@chromium.org on 16 Oct 2015 at 5:50