test: Add passDouble smoke test #294

pull maflcko wants to merge 1 commits into bitcoin-core:master from maflcko:2606-test-double-tidy changing 3 files +4 −0
  1. maflcko commented at 6:39 AM on June 10, 2026: contributor

    Mostly for clang-tidy to cover commit 733c64318d1c75acee8cea74abaf88050453c089

  2. test: Add passDouble smoke test
    Mostly for clang-tidy to cover commit 733c64318d1c75acee8cea74abaf88050453c089
    faaedb11f8
  3. DrahtBot commented at 6:40 AM on June 10, 2026: none

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK ryanofsky

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. maflcko commented at 6:41 AM on June 10, 2026: contributor

    Tested locally with the nix CI config:

    [5/7] Building CXX object test/CMakeFiles/mptest.dir/mp/test/foo.capnp.proxy-client.c++.o
    FAILED: [code=1] test/CMakeFiles/mptest.dir/mp/test/foo.capnp.proxy-client.c++.o
    /nix/store/r9941n32g4wyvggz2703dlplbdq8a6rd-cmake-4.1.2/bin/cmake -E __run_co_compile --tidy="/nix/store/wcwr4iq7c8f4ygn8bd1q0k3i51lmhz35-clang-21.1.8/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/tmp/tmp.A7Li
    qAWKn2/git_dir/build-llvm/test/mp/test/foo.capnp.proxy-client.c++ -- /nix/store/fhwhpg79dwbmb7wg18864l8rk9j8634g-clang-wrapper-21.1.8/bin/clang++ -DKJ_USE_FIBERS -I/tmp/tmp.A7LiqAWKn2/git_dir/build-llvm/test -I/tmp/tmp.A7LiqAW
    Kn2/git_dir/include -I/tmp/tmp.A7LiqAWKn2/git_dir/test -I/tmp/tmp.A7LiqAWKn2/git_dir/build-llvm/include -isystem /nix/store/njqpk50gg9b2awwdl4g8hdg048j7x7y8-libcxx-21.1.8-dev/include -isystem /nix/store/0balwgpf53vhjycd97mq1bkmz45nc1ks-compiler-rt-libc-21.1.8-dev/include -isystem /nix/store/i2vcdjg0hvr52qfh0il5jrfrg3c4h53m-capnproto-1.4.0/include -isystem /nix/store/wxws7pwyzk8mbmjc1rwwwx9v184hh67v-openssl-3.6.2-dev/include -isystem /nix/store/h7ik0g1xxayy0z8h27zbvrgmac63irgs-zlib-1.3.2-dev/include -isystem /nix/store/njqpk50gg9b2awwdl4g8hdg048j7x7y8-libcxx-21.1.8-dev/include/c++/v1 -isystem /nix/store/fhwhpg79dwbmb7wg18864l8rk9j8634g-clang-wrapper-21.1.8/resource-root/include -isystem /nix/store/15h9askp4k1lx44d9871wid23j2a8ijp-glibc-2.42-61-dev/include -Werror -Wall -Wextra -Wpedantic -Wthread-safety -Wno-unused-parameter -std=gnu++20 -pthread -MD -MT test/CMakeFiles/mptest.dir/mp/test/foo.capnp.proxy-client.c++.o -MF test/CMakeFiles/mptest.dir/mp/test/foo.capnp.proxy-client.c++.o.d -o test/CMakeFiles/mptest.dir/mp/test/foo.capnp.proxy-client.c++.o -c /tmp/tmp.A7LiqAWKn2/git_dir/build-llvm/test/mp/test/foo.capnp.proxy-client.c++
    /tmp/tmp.A7LiqAWKn2/git_dir/include/mp/type-number.h:85:87: error: use nullptr [modernize-use-nullptr,-warnings-as-errors]
       85 |     typename std::enable_if<std::is_floating_point<LocalType>::value>::type* enable = 0)
          |                                                                                       ^
          |                                                                                       nullptr
    179 warnings generated.
    Suppressed 177 warnings (177 in non-user code).
    Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
    1 warning treated as error
    
  5. maflcko commented at 7:01 AM on June 10, 2026: contributor

    ci failure can be ignored :melting_face:

  6. maflcko commented at 7:15 AM on June 10, 2026: contributor

    Also, unrelated, I noticed that the CI not reproducible. Locally the iwyu CI fails with:

    <details><summary>iwyu err</summary>

    CI_CONFIG=ci/configs/llvm.bash ci/scripts/run.sh 
    + '[' x ']'
    + source ci/configs/llvm.bash
    ++ CI_DESC='CI job using LLVM-based libraries and tools (clang, libc++, clang-tidy, iwyu) and testing Ninja'
    ++ CI_DIR=build-llvm
    ++ NIX_ARGS=(--arg enableLibcxx true)
    ++ export CXX=clang++
    ++ CXX=clang++
    ++ export 'CXXFLAGS=-Werror -Wall -Wextra -Wpedantic -Wthread-safety -Wno-unused-parameter'
    ++ CXXFLAGS='-Werror -Wall -Wextra -Wpedantic -Wthread-safety -Wno-unused-parameter'
    ++ CMAKE_ARGS=(-G Ninja -DMP_ENABLE_CLANG_TIDY=ON -DMP_ENABLE_IWYU=ON)
    ++ BUILD_ARGS=(-k 0)
    + nix develop --ignore-environment --keep CI_CONFIG --keep CI_CLEAN --arg enableLibcxx true -f shell.nix --command ci/scripts/ci.sh
    + '[' x ']'
    + source ci/configs/llvm.bash
    ++ CI_DESC='CI job using LLVM-based libraries and tools (clang, libc++, clang-tidy, iwyu) and testing Ninja'
    ++ CI_DIR=build-llvm
    ++ NIX_ARGS=(--arg enableLibcxx true)
    ++ export CXX=clang++
    ++ CXX=clang++
    ++ export 'CXXFLAGS=-Werror -Wall -Wextra -Wpedantic -Wthread-safety -Wno-unused-parameter'
    ++ CXXFLAGS='-Werror -Wall -Wextra -Wpedantic -Wthread-safety -Wno-unused-parameter'
    ++ CMAKE_ARGS=(-G Ninja -DMP_ENABLE_CLANG_TIDY=ON -DMP_ENABLE_IWYU=ON)
    ++ BUILD_ARGS=(-k 0)
    + : build-llvm
    + '[' -v BUILD_TARGETS ']'
    + BUILD_TARGETS=(all tests mpexamples)
    + '[' -n '' ']'
    + cmake --version
    cmake version 4.1.2
    
    CMake suite maintained and supported by Kitware (kitware.com/cmake).
    ++ cmake --version
    ++ awk '/version/{print $3; exit}'
    + cmake_ver=4.1.2
    + src_dir=/tmp/tmp.CdXP7X55gV/git_dir
    + mkdir -p build-llvm
    + cd build-llvm
    + cmake /tmp/tmp.CdXP7X55gV/git_dir -G Ninja -DMP_ENABLE_CLANG_TIDY=ON -DMP_ENABLE_IWYU=ON
    -- The CXX compiler identification is Clang 21.1.8
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /nix/store/fhwhpg79dwbmb7wg18864l8rk9j8634g-clang-wrapper-21.1.8/bin/clang++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    -- Found Threads: TRUE
    -- Performing Test HAVE_PTHREAD_GETNAME_NP
    -- Performing Test HAVE_PTHREAD_GETNAME_NP - Success
    -- Performing Test HAVE_PTHREAD_THREADID_NP
    -- Performing Test HAVE_PTHREAD_THREADID_NP - Failed
    -- Performing Test HAVE_PTHREAD_GETTHREADID_NP
    -- Performing Test HAVE_PTHREAD_GETTHREADID_NP - Failed
    -- Configuring done (3.8s)
    -- Generating done (0.1s)
    -- Build files have been written to: /tmp/tmp.CdXP7X55gV/git_dir/build-llvm
    + ver_ge 4.1.2 3.15
    ++ printf '%s\n' 3.15 4.1.2
    ++ sort -V
    ++ head -n1
    + '[' 3.15 = 3.15 ']'
    + cmake --build . -t all tests mpexamples -- -k 0
    [1/60] Compiling Cap'n Proto schema include/mp/proxy.capnp
    [2/60] Building CXX object CMakeFiles/multiprocess.dir/include/mp/proxy.capnp.c++.o
    [3/60] Building CXX object CMakeFiles/mpgen.dir/src/mp/gen.cpp.o
    FAILED: [code=1] CMakeFiles/mpgen.dir/src/mp/gen.cpp.o 
    /nix/store/r9941n32g4wyvggz2703dlplbdq8a6rd-cmake-4.1.2/bin/cmake -E __run_co_compile --iwyu="/nix/store/zkvvr6wn4x6c2wjj9pfi5k896gsm337m-include-what-you-use-0.26/bin/include-what-you-use;-Xiwyu;--error;-Xiwyu;--mapping_file=/nix/store/njqpk50gg9b2awwdl4g8hdg048j7x7y8-libcxx-21.1.8-dev/include/c++/v1/libcxx.imp;--driver-mode=g++" --tidy="/nix/store/wcwr4iq7c8f4ygn8bd1q0k3i51lmhz35-clang-21.1.8/bin/clang-tidy;--extra-arg-before=--driver-mode=g++" --source=/tmp/tmp.CdXP7X55gV/git_dir/src/mp/gen.cpp -- /nix/store/fhwhpg79dwbmb7wg18864l8rk9j8634g-clang-wrapper-21.1.8/bin/clang++ -DKJ_USE_FIBERS -I/tmp/tmp.CdXP7X55gV/git_dir/build-llvm/include -I/tmp/tmp.CdXP7X55gV/git_dir/include -isystem /nix/store/njqpk50gg9b2awwdl4g8hdg048j7x7y8-libcxx-21.1.8-dev/include -isystem /nix/store/0balwgpf53vhjycd97mq1bkmz45nc1ks-compiler-rt-libc-21.1.8-dev/include -isystem /nix/store/i2vcdjg0hvr52qfh0il5jrfrg3c4h53m-capnproto-1.4.0/include -isystem /nix/store/wxws7pwyzk8mbmjc1rwwwx9v184hh67v-openssl-3.6.2-dev/include -isystem /nix/store/h7ik0g1xxayy0z8h27zbvrgmac63irgs-zlib-1.3.2-dev/include -isystem /nix/store/njqpk50gg9b2awwdl4g8hdg048j7x7y8-libcxx-21.1.8-dev/include/c++/v1 -isystem /nix/store/fhwhpg79dwbmb7wg18864l8rk9j8634g-clang-wrapper-21.1.8/resource-root/include -isystem /nix/store/15h9askp4k1lx44d9871wid23j2a8ijp-glibc-2.42-61-dev/include -Werror -Wall -Wextra -Wpedantic -Wthread-safety -Wno-unused-parameter -std=gnu++20 -pthread -MD -MT CMakeFiles/mpgen.dir/src/mp/gen.cpp.o -MF CMakeFiles/mpgen.dir/src/mp/gen.cpp.o.d -o CMakeFiles/mpgen.dir/src/mp/gen.cpp.o -c /tmp/tmp.CdXP7X55gV/git_dir/src/mp/gen.cpp
    Warning: include-what-you-use reported diagnostics:
    
    /tmp/tmp.CdXP7X55gV/git_dir/src/mp/gen.cpp should add these lines:
    #include <capnp/schema.capnp.h>   // for Annotation
    
    /tmp/tmp.CdXP7X55gV/git_dir/src/mp/gen.cpp should remove these lines:
    
    The full include-list for /tmp/tmp.CdXP7X55gV/git_dir/src/mp/gen.cpp:
    #include <capnp/schema-parser.h>  // for ParsedSchema, SchemaParser
    #include <capnp/schema.capnp.h>   // for Annotation
    #include <capnp/schema.h>         // for Type, InterfaceSchema, StructSchema
    #include <kj/array.h>             // for Array, heapArray
    #include <kj/common.h>            // for mv, KJ_IF_MAYBE, NullableValue, Arr...
    #include <kj/filesystem.h>        // for ReadableDirectory, Directory, Files...
    #include <kj/memory.h>            // for Own, OwnOwn
    #include <kj/string.h>            // for StringPtr
    #include <mp/config.h>            // for capnp_PREFIX, CMAKE_INSTALL_PREFIX
    #include <mp/util.h>              // for ExecProcess, WaitProcess
    #include <unistd.h>               // for fork
    #include <algorithm>              // for __transform, transform
    #include <cerrno>                 // for errno
    #include <cstdint>                // for uint64_t, int32_t
    #include <cstdio>                 // for size_t
    #include <cstdlib>                // for exit
    #include <fstream>                // for basic_ofstream, basic_ostream, oper...
    #include <functional>             // for function
    #include <initializer_list>       // for initializer_list
    #include <iostream>               // for cerr
    #include <map>                    // for map, operator!=, __map_iterator
    #include <set>                    // for set
    #include <sstream>                // for basic_ostringstream
    #include <stdexcept>              // for runtime_error
    #include <string>                 // for basic_string, char_traits, allocator
    #include <system_error>           // for system_error, system_category
    #include <utility>                // for pair, declval
    #include <vector>                 // for vector
    ---
    
    [4/60] Building CXX object CMakeFiles/mputil.dir/src/mp/util.cpp.o
    [5/60] Building CXX object CMakeFiles/multiprocess.dir/src/mp/proxy.cpp.o
    [6/60] Linking CXX static library libmultiprocess.a
    ninja: build stopped: cannot make progress due to previous errors.
    

    </details>

    Maybe it could make sense to bump the GHA nix channel to be more recent?

  7. ryanofsky approved
  8. ryanofsky commented at 10:22 AM on June 10, 2026: collaborator

    Code review ACK faaedb11f8a75b26941820aac7dbdabe164a4647. Thanks for the test!

  9. ryanofsky commented at 10:30 AM on June 10, 2026: collaborator

    re: #294 (comment)

    ci failure can be ignored 🫠

    Yep, CI failure is fixed by #286 (just needs review)

    re: #294 (comment)

    Also, unrelated, I noticed that the CI not reproducible. Locally the iwyu CI fails with:

    I think the IWYU error is also fixed by #286 since I ran IWYU locally, and the cause is that a different capnproto version is used. It probably make sense to update the nixpkgs channel too as you suggest.

  10. ryanofsky merged this on Jun 11, 2026
  11. ryanofsky closed this on Jun 11, 2026

  12. maflcko deleted the branch on Jun 11, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/libmultiprocess. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-06-24 04:30 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me