thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (Jira)" <j...@apache.org>
Subject [jira] [Resolved] (THRIFT-4976) Docker build: Test failure for `StalenessCheckTest` on MacOS
Date Sat, 19 Oct 2019 19:05:00 GMT

     [ https://issues.apache.org/jira/browse/THRIFT-4976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jens Geyer resolved THRIFT-4976.
--------------------------------
    Fix Version/s: 0.14.0
       Resolution: Fixed

> Docker build: Test failure for `StalenessCheckTest` on MacOS
> ------------------------------------------------------------
>
>                 Key: THRIFT-4976
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4976
>             Project: Thrift
>          Issue Type: Bug
>          Components: Build Process
>            Reporter: Qinghui Xu
>            Assignee: Qinghui Xu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.14.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> `StalenessCheckTest` consists of three python tests, each of which verify whether a thrift
file is recompiled after some modification. The test scheme is such as:
>  * Compile some thrift files
>  * Get the modification timestamp of generated files.
>  * Make modification to the thrift files
>  * Sleep for 0.1 second, and then recompile
>  * Get the modification timestamp of (re)generated files
>  * Assert that the second timestamp is bigger than the first
> When running a docker build (with ubuntu-bionic) on MacOS, the assertion fails randomly,
because the underlying file system's timestamp is only second-accurate. So the 0.1 second
is not enough to make sure that the second timestamp is bigger than the first (both could
end up to be round to the same second).
> Example:
> {code:java}
> export  SCRIPT="cmake.sh"
> export  BUILD_ARG="-D WITH_C_GLIB=OFF -D WITH_AS3=OFF -D WITH_PYTHON=OFF -D WITH_HASKELL=OFF"
> export  BUILD_ENV="-e CC=gcc -e CXX=g++ -e THRIFT_CROSSTEST_CONCURRENCY=3"
> export  DISTRO=ubuntu-bionic
> export  BUILD_LIBS="CPP JAVA"  # only meaningful for CMake builds
> export  DOCKER_REPO="thrift/thrift-build"
> SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
> DOCKER_TAG=$DOCKER_REPO:$DISTRO
> docker run --net=host -e BUILD_LIBS="$BUILD_LIBS" $BUILD_ENV -v $(pwd):/thrift/src \
>         -it $DOCKER_TAG build/docker/scripts/cmake.sh $BUILD_ARG
> ...
> test 435
>         Start 435: StalenessCheckTest435: Test command: /usr/bin/python "/thrift/src/compiler/cpp/test/compiler/staleness_check.py"
"/thrift/src/cmake_build/compiler/cpp/bin/thrift"
> 435: Test timeout computed to be: 1500
> 435: test_staleness_check_of_included_file (__main__.TestStalenessCheck) ... FAIL
> 435: test_staleness_check_of_single_thrift_file_with_changed_output (__main__.TestStalenessCheck)
... ok
> 435: test_staleness_check_of_single_thrift_file_without_changed_output (__main__.TestStalenessCheck)
... ok
> 435:
> 435: ======================================================================
> 435: FAIL: test_staleness_check_of_included_file (__main__.TestStalenessCheck)
> 435: ----------------------------------------------------------------------
> 435: Traceback (most recent call last):
> 435:   File "/thrift/src/compiler/cpp/test/compiler/staleness_check.py", line 123, in
test_staleness_check_of_included_file
> 435:     included_constants_cpp_second_modification_time, included_constants_cpp_first_modification_time)
> 435: AssertionError: 1570986553.0 not greater than 1570986553.0
> 435:
> 435: ----------------------------------------------------------------------
> 435: Ran 3 tests in 0.727s
> 435:
> 435: FAILED (failures=1)
> 435/464 Test #435: StalenessCheckTest ...............***Failed    0.85 sec
> ...
> 99% tests passed, 1 tests failed out of 46499% tests passed, 1 tests failed out of 464
> Total Test time (real) = 344.50 sec
> The following tests FAILED: 435 - StalenessCheckTest (Failed)Errors while running CTest{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message