Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-3213

make cross should indicate when it skips a known failing test

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.9.2
    • 0.10.0
    • Test Suite
    • None
    • Ubuntu 12.04 LTS with cpp, java, python, perl, php, and go enabled.

    Description

      I do not know if this affects earlier releases. I am trying to get cpp and go to run in a make cross. Currently I can make cpp on both sides, and go on both sides, but when I try to mix them up then no tests run:

      jking@dvm-4:~/thrift$ /usr/bin/python test/test.py -s --server cpp --client cpp
      Apache Thrift - Integration Test Suite
      Tue Jun 30 16:26:24 2015
      ======================================================================
      server-client:     protocol:    transport:               result:
      cpp-cpp            compact      buffered-domain          success(0)
      cpp-cpp            compact      framed-ip                success(0)
      cpp-cpp            compact      buffered-ip              success(0)
      cpp-cpp            compact      http-ip-ssl              success(0)
      cpp-cpp            compact      framed-ip-ssl            success(0)
      cpp-cpp            compact      buffered-ip-ssl          success(0)
      cpp-cpp            binary       buffered-ip-ssl          success(0)
      cpp-cpp            compact      framed-domain            success(0)
      cpp-cpp            binary       http-ip-ssl              success(0)
      cpp-cpp            binary       buffered-ip              success(0)
      cpp-cpp            binary       framed-ip-ssl            success(0)
      cpp-cpp            binary       buffered-domain          success(0)
      cpp-cpp            binary       framed-domain            success(0)
      cpp-cpp            binary       framed-ip                success(0)
      cpp-cpp            json         http-ip-ssl              success(0)
      cpp-cpp            json         buffered-ip              success(0)
      cpp-cpp            json         buffered-ip-ssl          success(0)
      cpp-cpp            json         buffered-domain          success(0)
      cpp-cpp            json         framed-ip-ssl            success(0)
      cpp-cpp            json         framed-ip                success(0)
      cpp-cpp            json         framed-domain            success(0)
      ======================================================================
      No unexpected failures.
      You can browse results at:
      	file:///home/jking/thrift/test/result.html
      # If you use Chrome, run:
      # 	cd /home/jking/thrift/test
      #	python -m SimpleHTTPServer 8001
      # then browse:
      # 	http://localhost:8001/result.html
      Full log for each test is here:
      	test/log/client_server_protocol_transport_client.log
      	test/log/client_server_protocol_transport_server.log
      0 failed of 21 tests in total.
      Test execution took 12.6 seconds.
      Tue Jun 30 16:26:37 2015
      jking@dvm-4:~/thrift$ ps ax | grep est
      20778 pts/4    S+     0:00 grep --color=auto est
      jking@dvm-4:~/thrift$ /usr/bin/python test/test.py -s --server cpp --client go
      Apache Thrift - Integration Test Suite
      Tue Jun 30 16:26:45 2015
      ======================================================================
      server-client:     protocol:    transport:               result:
      ======================================================================
      No unexpected failures.
      You can browse results at:
      	file:///home/jking/thrift/test/result.html
      # If you use Chrome, run:
      # 	cd /home/jking/thrift/test
      #	python -m SimpleHTTPServer 8001
      # then browse:
      # 	http://localhost:8001/result.html
      Full log for each test is here:
      	test/log/client_server_protocol_transport_client.log
      	test/log/client_server_protocol_transport_server.log
      0 failed of 0 tests in total.
      Test execution took 0.1 seconds.
      Tue Jun 30 16:26:45 2015
      jking@dvm-4:~/thrift$ /usr/bin/python test/test.py -s --server go --client go
      Apache Thrift - Integration Test Suite
      Tue Jun 30 16:26:49 2015
      ======================================================================
      server-client:     protocol:    transport:               result:
      go-go              compact      framed-ip                success(0)
      go-go              binary       buffered-ip              success(0)
      go-go              compact      buffered-ip              success(0)
      go-go              compact      framed-ip-ssl            success(0)
      go-go              compact      buffered-ip-ssl          success(0)
      go-go              binary       buffered-ip-ssl          success(0)
      go-go              json         buffered-ip              success(0)
      go-go              binary       framed-ip                success(0)
      go-go              json         framed-ip                success(0)
      go-go              json         buffered-ip-ssl          success(0)
      go-go              json         framed-ip-ssl            success(0)
      go-go              binary       framed-ip-ssl            success(0)
      ======================================================================
      No unexpected failures.
      You can browse results at:
      	file:///home/jking/thrift/test/result.html
      # If you use Chrome, run:
      # 	cd /home/jking/thrift/test
      #	python -m SimpleHTTPServer 8001
      # then browse:
      # 	http://localhost:8001/result.html
      Full log for each test is here:
      	test/log/client_server_protocol_transport_client.log
      	test/log/client_server_protocol_transport_server.log
      0 failed of 12 tests in total.
      Test execution took 6.3 seconds.
      Tue Jun 30 16:26:55 2015
      jking@dvm-4:~/thrift$ /usr/bin/python test/test.py -s --server go --client cpp
      Apache Thrift - Integration Test Suite
      Tue Jun 30 16:26:59 2015
      ======================================================================
      server-client:     protocol:    transport:               result:
      ======================================================================
      No unexpected failures.
      You can browse results at:
      	file:///home/jking/thrift/test/result.html
      # If you use Chrome, run:
      # 	cd /home/jking/thrift/test
      #	python -m SimpleHTTPServer 8001
      # then browse:
      # 	http://localhost:8001/result.html
      Full log for each test is here:
      	test/log/client_server_protocol_transport_client.log
      	test/log/client_server_protocol_transport_server.log
      0 failed of 0 tests in total.
      Test execution took 0.1 seconds.
      Tue Jun 30 16:26:59 2015
      

      By all accounts, the tests.json file indicates these tests have commonality and should be tested against each-other. Curiously when I use java as the server and go as the client, it works:

      jking@dvm-4:~/thrift$ /usr/bin/python test/test.py -s --server java --client go
      Apache Thrift - Integration Test Suite
      Tue Jun 30 16:37:52 2015
      ======================================================================
      server-client:     protocol:    transport:               result:
      java-go            compact      framed-ip                success(0)
      java-go            compact      fastframed-framed-ip     success(0)
      java-go            compact      buffered-ip              success(0)
      java-go            compact      framed-ip-ssl            success(0)
      java-go            compact      buffered-ip-ssl          success(0)
      java-go            compact      fastframed-framed-ip-ssl success(0)
      java-go            binary       framed-ip                success(0)
      java-go            binary       buffered-ip              success(0)
      java-go            binary       fastframed-framed-ip     success(0)
      java-go            binary       framed-ip-ssl            success(0)
      java-go            binary       fastframed-framed-ip-ssl success(0)
      java-go            binary       buffered-ip-ssl          success(0)
      java-go            json         framed-ip                success(0)
      java-go            json         framed-ip-ssl            success(0)
      java-go            json         buffered-ip              success(0)
      java-go            json         fastframed-framed-ip     success(0)
      java-go            json         buffered-ip-ssl          success(0)
      java-go            json         fastframed-framed-ip-ssl success(0)
      ======================================================================
      

      Assigning this to roger.meier for initial triage.

      It turns out that this is a function of the test/known_failures_Linux.json file. If a test is omitted because it is specifically skipped, there should be an entry on the output that indicates it was skipped so that it doesn't look like something went wrong. Ideally I would like to see make cross actually try the test anyway, and then if it fails and the entry is in the known failures list, then mark it as skipped. That way tests that were marked as failed in the past will be tried and might even succeed, giving better test coverage.

      Attachments

        Issue Links

          Activity

            People

              roger Roger Meier
              jking3 James E. King III
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: