Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARROW-3441: [Gandiva] Use common unit test creation facilities, do not produce multiple executables for the same unit tests #3091

Closed
wants to merge 3 commits into from

Conversation

wesm
Copy link
Member

@wesm wesm commented Dec 4, 2018

This also adds a "gandiva" CMake target so you can run ninja gandiva. Additionally, all unit tests now have a gandiva- prefix.

…d gandiva custom target

Change-Id: I89d02be0a5dae4c9469de957a1374635d08d03e5
@wesm
Copy link
Member Author

wesm commented Dec 4, 2018

Sample run:

$ ctest -L gandiva -j4
Test project /home/wesm/code/arrow/cpp/build
      Start 107: gandiva-projector_test
      Start 118: gandiva-projector_test_static
      Start 113: gandiva-date_time_test
      Start 109: gandiva-if_expr_test
 1/34 Test #109: gandiva-if_expr_test ......................   Passed    0.25 sec
      Start 111: gandiva-boolean_expr_test
 2/34 Test #113: gandiva-date_time_test ....................   Passed    0.29 sec
      Start 110: gandiva-literal_test
 3/34 Test #111: gandiva-boolean_expr_test .................   Passed    0.20 sec
      Start 108: gandiva-projector_build_validation_test
 4/34 Test #110: gandiva-literal_test ......................   Passed    0.17 sec
      Start 106: gandiva-filter_test
 5/34 Test #108: gandiva-projector_build_validation_test ...   Passed    0.15 sec
      Start 117: gandiva-null_validity_test
 6/34 Test #106: gandiva-filter_test .......................   Passed    0.15 sec
      Start 115: gandiva-hash_test
 7/34 Test #118: gandiva-projector_test_static .............   Passed    0.71 sec
      Start 116: gandiva-in_expr_test
 8/34 Test #117: gandiva-null_validity_test ................   Passed    0.11 sec
      Start  86: gandiva-engine_llvm_test
 9/34 Test #115: gandiva-hash_test .........................   Passed    0.11 sec
      Start  90: gandiva-llvm_generator_test
10/34 Test #107: gandiva-projector_test ....................   Passed    0.78 sec
      Start 112: gandiva-binary_test
11/34 Test  #86: gandiva-engine_llvm_test ..................   Passed    0.09 sec
      Start  94: gandiva-expression_registry_test
12/34 Test  #90: gandiva-llvm_generator_test ...............   Passed    0.09 sec
      Start  88: gandiva-function_registry_test
13/34 Test #116: gandiva-in_expr_test ......................   Passed    0.11 sec
      Start  96: gandiva-lru_cache_test
14/34 Test  #88: gandiva-function_registry_test ............   Passed    0.05 sec
      Start  85: gandiva-bitmap_accumulator_test
15/34 Test  #94: gandiva-expression_registry_test ..........   Passed    0.06 sec
      Start  89: gandiva-llvm_types_test
16/34 Test #112: gandiva-binary_test .......................   Passed    0.09 sec
      Start  93: gandiva-expr_decomposer_test
17/34 Test  #96: gandiva-lru_cache_test ....................   Passed    0.06 sec
      Start  87: gandiva-function_signature_test
18/34 Test  #85: gandiva-bitmap_accumulator_test ...........   Passed    0.05 sec
      Start  97: gandiva-to_date_holder_test
19/34 Test  #89: gandiva-llvm_types_test ...................   Passed    0.05 sec
      Start  98: gandiva-simple_arena_test
20/34 Test  #93: gandiva-expr_decomposer_test ..............   Passed    0.05 sec
      Start  95: gandiva-selection_vector_test
21/34 Test  #87: gandiva-function_signature_test ...........   Passed    0.06 sec
      Start  91: gandiva-annotator_test
22/34 Test  #97: gandiva-to_date_holder_test ...............   Passed    0.05 sec
      Start  92: gandiva-tree_expr_test
23/34 Test  #98: gandiva-simple_arena_test .................   Passed    0.05 sec
      Start 114: gandiva-to_string_test
24/34 Test  #95: gandiva-selection_vector_test .............   Passed    0.05 sec
      Start 103: string_ops_test
25/34 Test #103: string_ops_test ...........................   Passed    0.00 sec
      Start 101: time_test
26/34 Test  #91: gandiva-annotator_test ....................   Passed    0.05 sec
      Start  99: bitmap_test
27/34 Test #101: time_test .................................   Passed    0.01 sec
      Start 100: epoch_time_point_test
28/34 Test  #99: bitmap_test ...............................   Passed    0.01 sec
      Start 104: arithmetic_ops_test
29/34 Test #104: arithmetic_ops_test .......................   Passed    0.00 sec
      Start 105: extended_math_ops_test
30/34 Test #100: epoch_time_point_test .....................   Passed    0.01 sec
      Start 102: hash_test
31/34 Test #105: extended_math_ops_test ....................   Passed    0.00 sec
32/34 Test #102: hash_test .................................   Passed    0.01 sec
33/34 Test  #92: gandiva-tree_expr_test ....................   Passed    0.05 sec
34/34 Test #114: gandiva-to_string_test ....................   Passed    0.05 sec

100% tests passed, 0 tests failed out of 34

Label Time Summary:
arithmetic_ops_test       =   0.00 sec*proc (1 test)
bitmap_test               =   0.01 sec*proc (1 test)
epoch_time_point_test     =   0.01 sec*proc (1 test)
extended_math_ops_test    =   0.00 sec*proc (1 test)
gandiva                   =   3.98 sec*proc (27 tests)
gandiva,unittest          =   0.04 sec*proc (7 tests)
hash_test                 =   0.01 sec*proc (1 test)
string_ops_test           =   0.00 sec*proc (1 test)
time_test                 =   0.01 sec*proc (1 test)
unittest                  =   3.98 sec*proc (27 tests)

Total Test time (real) =   1.02 sec

@wesm
Copy link
Member Author

wesm commented Dec 4, 2018

I'm going to add the precompiled tests to the target, too, just a few minutes

Change-Id: I4a8446528b516dd78123d167444b061ff37db613
Change-Id: I05c66a97966b3eeffb71f8da1d50813446e7fcdb
@codecov-io
Copy link

Codecov Report

Merging #3091 into master will increase coverage by 1.03%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3091      +/-   ##
==========================================
+ Coverage   87.12%   88.15%   +1.03%     
==========================================
  Files         492      434      -58     
  Lines       69104    65339    -3765     
==========================================
- Hits        60204    57601    -2603     
+ Misses       8801     7738    -1063     
+ Partials       99        0      -99
Impacted Files Coverage Δ
go/arrow/array/table.go
go/arrow/math/uint64_amd64.go
go/arrow/internal/testing/tools/bool.go
go/arrow/internal/bitutil/bitutil.go
go/arrow/memory/memory_avx2_amd64.go
go/arrow/array/null.go
go/arrow/datatype_nested.go
go/arrow/array/string.go
go/arrow/math/uint64_avx2_amd64.go
go/arrow/array/builder.go
... and 48 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4ac4eb5...d6f4703. Read the comment docs.

@wesm
Copy link
Member Author

wesm commented Dec 5, 2018

cc @praveenbingo @pravindra

@pravindra
Copy link
Contributor

lgtm. Thanks for fixing this !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants