WillAyd commented on code in PR #45824: URL: https://github.com/apache/arrow/pull/45824#discussion_r2004250587
########## cpp/src/arrow/util/meson.build: ########## @@ -92,3 +92,242 @@ configure_file( configuration: internal_conf_data, format: 'cmake@', ) + +install_headers( + [ + 'algorithm.h', + 'aligned_storage.h', + 'align_util.h', + 'async_generator_fwd.h', + 'async_generator.h', + 'async_util.h', + 'base64.h', + 'basic_decimal.h', + 'benchmark_util.h', + 'binary_view_util.h', + 'bit_block_counter.h', + 'bitmap_builders.h', + 'bitmap_generate.h', + 'bitmap.h', + 'bitmap_ops.h', + 'bitmap_reader.h', + 'bitmap_visit.h', + 'bitmap_writer.h', + 'bit_run_reader.h', + 'bitset_stack.h', + 'bit_util.h', + 'bpacking64_default.h', + 'bpacking_avx2.h', + 'bpacking_avx512.h', + 'bpacking_default.h', + 'bpacking.h', + 'bpacking_neon.h', + 'byte_size.h', + 'cancel.h', + 'checked_cast.h', + 'compare.h', + 'compression.h', + 'concurrent_map.h', + 'converter.h', + 'counting_semaphore.h', + 'cpu_info.h', + 'crc32.h', + 'debug.h', + 'decimal.h', + 'delimiting.h', + 'dict_util.h', + 'dispatch.h', + 'double_conversion.h', + 'endian.h', + 'float16.h', + 'formatting.h', + 'functional.h', + 'future.h', + 'hashing.h', + 'hash_util.h', + 'int_util.h', + 'int_util_overflow.h', + 'io_util.h', + 'iterator.h', + 'key_value_metadata.h', + 'launder.h', + 'list_util.h', + 'logger.h', + 'logging.h', + 'macros.h', + 'map.h', + 'math_constants.h', + 'memory.h', + 'mutex.h', + 'parallel.h', + 'pcg_random.h', + 'prefetch.h', + 'print.h', + 'queue.h', + 'range.h', + 'ree_util.h', + 'regex.h', + 'rows_to_batches.h', + 'simd.h', + 'small_vector.h', + 'sort.h', + 'spaced.h', + 'span.h', + 'stopwatch.h', + 'string_builder.h', + 'string.h', + 'task_group.h', + 'tdigest.h', + 'test_common.h', + 'thread_pool.h', + 'time.h', + 'tracing.h', + 'trie.h', + 'type_fwd.h', + 'type_traits.h', + 'ubsan.h', + 'union_util.h', + 'unreachable.h', + 'uri.h', + 'utf8.h', + 'value_parsing.h', + 'vector.h', + 'visibility.h', + 'windows_compatibility.h', + 'windows_fixup.h', + ], + subdir: 'arrow/util', +) + +utility_test_srcs = [ + 'align_util_test.cc', + 'atfork_test.cc', + 'byte_size_test.cc', + 'byte_stream_split_test.cc', + 'cache_test.cc', + 'checked_cast_test.cc', + 'compression_test.cc', + 'decimal_test.cc', + 'float16_test.cc', + 'fixed_width_test.cc', + 'formatting_util_test.cc', + 'key_value_metadata_test.cc', + 'hashing_test.cc', + 'int_util_test.cc', + 'io_util_test.cc', + 'iterator_test.cc', + 'list_util_test.cc', + 'logger_test.cc', + 'logging_test.cc', + 'math_test.cc', + 'queue_test.cc', + 'range_test.cc', + 'ree_util_test.cc', + 'reflection_test.cc', + 'rows_to_batches_test.cc', + 'small_vector_test.cc', + 'span_test.cc', + 'stl_util_test.cc', + 'string_test.cc', + 'tdigest_test.cc', + 'test_common.cc', + 'time_test.cc', + 'tracing_test.cc', + 'trie_test.cc', + 'uri_test.cc', + 'utf8_util_test.cc', + 'value_parsing_test.cc', +] + +if host_machine.system() == 'windows' + # This manifest enables long file paths on Windows 10+ + # See https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#enable-long-paths-in-windows-10-version-1607-and-later + if cpp_compiler.get_id() == 'msvc' + utility_test_sources += ['io_util_test.manifest'] + else + utility_test_sources += ['io_util_test.rc'] + endif +endif + +exc = executable( + 'arrow-utility-test', + sources: utility_test_srcs, + dependencies: [arrow_dep, filesystem_dep, gtest_dep, gmock_dep], + link_with: [arrow_test_lib], + implicit_include_directories: false, +) +test('arrow-utility-test', exc) + +util_tests = { + 'arrow-async-utility-test': { + 'sources': [ + 'async_generator_test.cc', + 'async_util_test.cc', + 'test_common.cc', + ], + }, + 'arrow-bit-utility-test': { + 'sources': [ + 'bit_block_counter_test.cc', + 'bit_util_test.cc', + 'rle_encoding_test.cc', + ], + }, + 'arrow-threading-utility-test': { + 'sources': [ + 'cancel_test.cc', + 'counting_semaphore_test.cc', + 'future_test.cc', + 'task_group_test.cc', + 'test_common.cc', + 'thread_pool_test.cc', + ], + }, + 'arrow-crc32-test': { + 'sources': ['crc32_test.cc'], + 'dependencies': [filesystem_dep], + }, +} + +if needs_tests Review Comment: Nice catch on the arrow-utility-test - I can do that. With respect to the `if needs_tests`, it depends how much we want to adhere to what CMake has in place. In fact, we used to use that same condition, but I had to change it from `if needs_tests` to `if needs_testing` in the benchmarks PR. https://github.com/apache/arrow/pull/45793/files Unless I am misreading the CMake configuration (which is certainly possible) it seems like it is possible to disable tests but turn the benchmarks on. In such a case, you would still need the current `arrow_test_dep` dependency to build benchmarks; the change you are proposing would add a dependency between the test suite and benchmark suite -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org