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

Feature/dfi cleanup #699

Merged
merged 71 commits into from
Feb 2, 2024
Merged

Feature/dfi cleanup #699

merged 71 commits into from
Feb 2, 2024

Commits on Dec 13, 2023

  1. Configuration menu
    Copy the full SHA
    3e61888 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Make gcov play nicely with Conan2.

    `tc.cache_variables["CMAKE_EXE_LINKER_FLAGS"] = "-Wl,--unresolved-symbols=ignore-in-shared-libs"` would be overriden previously.
    PengZheng committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    452bfb3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ba39703 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ccbd7b0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ad1fa88 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Code deduplication and coverage improvements for dyn_common.

    Also remove dync_common from public interface of dfi.
    PengZheng committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    cced65c View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Configuration menu
    Copy the full SHA
    45bc7d2 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Configuration menu
    Copy the full SHA
    2a0314d View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Add const qualifier, apply early return error handling patterns, and …

    …improve interface ergonomic to dyn_interface.
    PengZheng committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    e27d73a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9e9b14f View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. Configuration menu
    Copy the full SHA
    b6d5e39 View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2023

  1. Merge branch 'master' into feature/dfi-cleanup

    # Conflicts:
    #	bundles/pubsub/pubsub_serializer_json/src/pubsub_json_serialization_provider.c
    #	bundles/pubsub/pubsub_utils/gtest/src/PubSubMatchingTestSuite.cpp
    #	bundles/pubsub/pubsub_utils/gtest/src/PubSubSerializationHandlerTestSuite.cc
    #	bundles/pubsub/pubsub_utils/src/pubsub_serialization_provider.c
    PengZheng committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    20ef889 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

  1. Configuration menu
    Copy the full SHA
    04692bc View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. Extract common functionality of dyn_interface and dyn_message into dy…

    …n_descriptor and improve ergonomics of dyn_message API.
    PengZheng committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    7936dca View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2023

  1. Configuration menu
    Copy the full SHA
    b735495 View commit details
    Browse the repository at this point in the history
  2. Extend dynType_parseWithStreamOfName for code deduplication, and remo…

    …ve tail recursion from dynType_findType.
    PengZheng committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    d0c1ede View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' into feature/dfi-cleanup

    # Conflicts:
    #	libs/error_injector/stdio/CMakeLists.txt
    #	libs/error_injector/stdio/include/stdio_ei.h
    #	libs/error_injector/stdio/src/stdio_ei.cc
    PengZheng committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    179a3bf View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2023

  1. Refactor dynType_parseComplex to return early on error and handle err…

    …or of missing the closing brace.
    PengZheng committed Dec 29, 2023
    Configuration menu
    Copy the full SHA
    2422879 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2023

  1. Configuration menu
    Copy the full SHA
    53c5da7 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2024

  1. Configuration menu
    Copy the full SHA
    0e79075 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. Configuration menu
    Copy the full SHA
    32be748 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. Configuration menu
    Copy the full SHA
    9758b64 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2024

  1. Configuration menu
    Copy the full SHA
    90dd0c0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    78b7d2d View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    84b4578 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. Configuration menu
    Copy the full SHA
    dfc647c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e84ac21 View commit details
    Browse the repository at this point in the history
  3. Upgrade to conan 1.62.

    PengZheng committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    a6e22f7 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Configuration menu
    Copy the full SHA
    1ff4bc1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0bde38e View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Configuration menu
    Copy the full SHA
    e3562a5 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. Configuration menu
    Copy the full SHA
    bfc57bd View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2024

  1. Configuration menu
    Copy the full SHA
    1c370b1 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2024

  1. Code cleanup and testing coverage improvement of dynFunction.

    1. Apply early return to dynFunction_parseDescriptor.
    2. Release resources in strict reverse order in dynFunction_destroy.
    3. Improve error handling of dynFunction_createClosure.
    4. More test cases to improve coverage.
    PengZheng committed Jan 14, 2024
    Configuration menu
    Copy the full SHA
    86a9095 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2024

  1. Configuration menu
    Copy the full SHA
    4c2b4d4 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. Configuration menu
    Copy the full SHA
    4c6d4db View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b61b6bd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8e38c03 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2024

  1. Configuration menu
    Copy the full SHA
    58589ad View commit details
    Browse the repository at this point in the history
  2. Add option to control whether to install Find modules defined by Celi…

    …x, and skip it in conan build.
    PengZheng committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    3f039d3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f6a42e8 View commit details
    Browse the repository at this point in the history
  4. Improve dyn_type deserialization.

    1. Reject JSON object missing members.
    2. Reject pointer to pointer.
    3. Support nullptr for text and pointer type.
    PengZheng committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    e1dd1b8 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Configuration menu
    Copy the full SHA
    88d43dd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    927926c View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. Improve dyn_type serialization.

    1. Support nullptr for pointer type.
    2. Reject pointer to pointer.
    3. Apply const qualifiers when possible.
    4. More robust error handling and thorough test coverage.
    PengZheng committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    782325e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f1391d View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2024

  1. Configuration menu
    Copy the full SHA
    6fffb96 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Optimize dyn_function's arguments handling.

    1. Removed unused argName.
    2. Add dynFunction_arguments.
    3. Avoid list iteration in dynFunction_nrOfArguments.
    PengZheng committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    1220311 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    74f1243 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6223856 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ba398d3 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. Configuration menu
    Copy the full SHA
    797e975 View commit details
    Browse the repository at this point in the history
  2. Update codecov-action.

    (cherry picked from commit 9b4501d)
    PengZheng committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    8624937 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2024

  1. Configuration menu
    Copy the full SHA
    f896601 View commit details
    Browse the repository at this point in the history
  2. #723 Add triviality test for dynType so that definitions of dfi argum…

    …ent types can be given.
    
    1. A standard argument can be of any serializable type.
    2. `am=pre` argument should be pointer to trivial types.
    3. `am=out` argument should be pointer to text or double pointer to serializable types.
    4. `am=handle` argument should be untyped pointer.
    PengZheng committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    e34eb00 View commit details
    Browse the repository at this point in the history
  3. Fix compilation error.

    PengZheng committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    823c131 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. Configuration menu
    Copy the full SHA
    aebe975 View commit details
    Browse the repository at this point in the history
  2. Perform more strict checking on interface method.

    1. The first method argument must be of handle type.
    2. Only one output argument (either am=pre or am=out) is allowed.
    3. Output argument (if any) must be the last argument.
    PengZheng committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    28db6c3 View commit details
    Browse the repository at this point in the history
  3. Optimize jsonRpc_handleReply.

    1. Apply early return to make error handling dead simple.
    2. Remove unnecessary argument list iterations.
    3. Protect against user-provided nullptr.
    4. Deal with invalid text output.
    PengZheng committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    56abd7d View commit details
    Browse the repository at this point in the history
  4. Fix issue caused by reference type in jsonRpc_handleReply and optimiz…

    …e jsonRpc_prepareInvokeRequest.
    
    1. Remove unnecessary argument list iteration by removing usages of dynFunction_argumentTypeForIndex and dynFunction_argumentMetaForIndex.
    2. Add more tests using error injection.
    PengZheng committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    d833f70 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c39b581 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2024

  1. Optimize jsonRpc_call.

    1. Add support for nullptr result for `am=out` parameter.
    2. Fix memory leaks when `am=out` result fails to serialize.
    3. Extract dynInterface_findMethod.
    PengZheng committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    94903a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4301a98 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2024

  1. Enhance checking in dynInterface.

    For any method, there must be exactly one handle argument, that is, the first one.
    PengZheng committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    bfef295 View commit details
    Browse the repository at this point in the history
  2. Optimize jsonRpc_call.

    1. Limit max number of arguments to CELIX_JSON_RPC_MAX_ARGS.
    2. Apply early return error handling.
    3. Simplify arguments manipulation and check for argument number mismatch.
    4. More error injection tests.
    PengZheng committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    e3120ae View commit details
    Browse the repository at this point in the history
  3. Fix compilation errors.

    PengZheng committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    51f0f1d View commit details
    Browse the repository at this point in the history
  4. Fix stack-use-after-scope reported by clang build.

    `rpcArgs` refers to stack variables, which must be declared before `rpcArgs`.
    PengZheng committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    876471d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8d1b0bf View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2024

  1. Apply suggestions from code review

    Co-authored-by: Pepijn Noltes <pnoltes@apache.org>
    PengZheng and pnoltes authored Jan 31, 2024
    Configuration menu
    Copy the full SHA
    d099a70 View commit details
    Browse the repository at this point in the history
  2. Fix failing test.

    PengZheng committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    ca7dab2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    90d643a View commit details
    Browse the repository at this point in the history