Skip to content
Snippets Groups Projects
Commit 11325c25 authored by Joscha Schmiedt's avatar Joscha Schmiedt
Browse files

Merge branch 'f-73-extern-adapt-to-conan-2-0' of...

Merge branch 'f-73-extern-adapt-to-conan-2-0' of gitlab.indiscale.com:caosdb/src/caosdb-cpplib into f-73-extern-adapt-to-conan-2-0
parents ba198faf 686229df
No related branches found
No related tags found
2 merge requests!61Release 0.3.0,!49Resolve "EXTERN: Adapt to Conan 2"
Pipeline #53523 failed
Pipeline: caosdb-julialib

#53530

    Pipeline: CaosDB Octave library

    #53529

      Pipeline: caosdb-cppinttest

      #53528

        +1
        ......@@ -80,6 +80,7 @@ conan: conan-install-deps conan-create
        .PHONY: conan
        doc:
        @doxygen --version || ( echo "Doxygen not found. Please install Doxygen first." ; exit 1 )
        mkdir -p build && cd build && conan install .. --build=missing -s $(CONAN_SETTINGS) \
        && cmake .. && cmake --build . --target doc-sphinx \
        && echo "The documentation starts at build/doc/sphinx_out/index.html ."
        ......
        ......@@ -22,6 +22,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
        ### Fixed
        - Values can now hold empty vectors and do not silently convert them into a scalar.
        ### Security
        ### Documentation
        ......
        ......@@ -189,11 +189,14 @@ test``. If you want to build manually, follow these steps:
        - Depending on the clang version it may be necessary to also add
        ``-DCMAKE_CXX_FLAGS="-Wno-unused-parameter"``
        4. ``cmake --build .``
        - If this fails with ``Error running '': No such file or directory``, you may want to try
        CMake's ``-D SKIP_LINTING=ON``. (See previous step.)
        Run
        ^^^
        In the build directory, run ``ctest``
        In the build directory, run ``ctest``. For more verbose output of a single test:
        ``ctest -R test_value.test_list -V``
        Framework
        ^^^^^^^^^
        ......
        ......@@ -36,6 +36,10 @@
        for (const auto &value : values) { \
        this->wrapped->mutable_list_values()->add_values()->SETTER(value); \
        } \
        if (values.empty()) { \
        this->wrapped->mutable_list_values()->add_values()->set_special_value( \
        ProtoSpecialValue::SPECIAL_VALUE_UNSPECIFIED); \
        } \
        }
        namespace caosdb::entity {
        ......@@ -385,7 +389,9 @@ public:
        return !IsNull() && this->wrapped->value_case() == ValueCase::kListValues;
        }
        [[nodiscard]] inline auto GetAsVector() const noexcept -> const std::vector<ScalarValue> & {
        if (!IsVector()) {
        if (!IsVector() || (this->wrapped->list_values().values(0).has_special_value() &&
        this->wrapped->list_values().values(0).special_value() ==
        ProtoSpecialValue::SPECIAL_VALUE_UNSPECIFIED)) {
        // create empty list
        static std::vector<ScalarValue> empty_values;
        return empty_values;
        ......
        ......@@ -137,6 +137,14 @@ TEST(test_value, test_list) {
        EXPECT_EQ(item.IsString(), true);
        EXPECT_EQ(item.GetAsString(), "id" + std::to_string(counter++));
        }
        // Test empty lists
        auto empty_content = std::vector<int>();
        Value value_0(empty_content);
        EXPECT_TRUE(value_0.IsVector());
        auto const &list_value_0 = value_0.GetAsVector();
        EXPECT_EQ(list_value_0.size(), 0);
        EXPECT_TRUE(list_value_0.empty());
        }
        TEST(test_value, test_scalar_value_to_value) {
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment