From 48283131fc2eac3a5f173462109c30ea76367384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 24 Aug 2022 14:14:53 +0200 Subject: [PATCH 1/4] test: Reformat cpp_test.cpp --- test/unittests/cpp_test.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/unittests/cpp_test.cpp b/test/unittests/cpp_test.cpp index 885291e73..ee0d656c8 100644 --- a/test/unittests/cpp_test.cpp +++ b/test/unittests/cpp_test.cpp @@ -829,7 +829,10 @@ TEST(cpp, status_code_to_string) // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) #define TEST_CASE(NAME) \ - TestCase { NAME, #NAME } + TestCase \ + { \ + NAME, #NAME \ + } constexpr TestCase test_cases[]{ TEST_CASE(EVMC_SUCCESS), TEST_CASE(EVMC_FAILURE), @@ -880,7 +883,10 @@ TEST(cpp, revision_to_string) // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) #define TEST_CASE(NAME) \ - TestCase { NAME, #NAME } + TestCase \ + { \ + NAME, #NAME \ + } constexpr TestCase test_cases[]{ TEST_CASE(EVMC_FRONTIER), TEST_CASE(EVMC_HOMESTEAD), From a929b202b96b0c2f0bf383614991568c3b53012b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 24 Aug 2022 15:05:07 +0200 Subject: [PATCH 2/4] test: Disable UBSan detection on macOS --- test/unittests/cpp_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unittests/cpp_test.cpp b/test/unittests/cpp_test.cpp index ee0d656c8..3c5f5f574 100644 --- a/test/unittests/cpp_test.cpp +++ b/test/unittests/cpp_test.cpp @@ -934,13 +934,13 @@ TEST(cpp, revision_to_string) } -#ifdef __GNUC__ +#if defined(__GNUC__) && !defined(__APPLE__) extern "C" [[gnu::weak]] void __ubsan_handle_builtin_unreachable(void*); // NOLINT #endif static bool has_ubsan() noexcept { -#ifdef __GNUC__ +#if defined(__GNUC__) && !defined(__APPLE__) return (__ubsan_handle_builtin_unreachable != nullptr); #else return false; From d2602b60763ea5c99dfc9ce25318fe42459da84e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 24 Aug 2022 15:14:41 +0200 Subject: [PATCH 3/4] test: Update test expectations to match macOS --- test/vmtester/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/vmtester/CMakeLists.txt b/test/vmtester/CMakeLists.txt index c3248d9a5..5b1bcc027 100644 --- a/test/vmtester/CMakeLists.txt +++ b/test/vmtester/CMakeLists.txt @@ -13,7 +13,7 @@ add_test(NAME ${prefix}/help COMMAND evmc::evmc-vmtester --version --help) set_tests_properties(${prefix}/help PROPERTIES PASS_REGULAR_EXPRESSION "Usage:") add_test(NAME ${prefix}/nonexistingvm COMMAND evmc::evmc-vmtester nonexistingvm) -set_tests_properties(${prefix}/nonexistingvm PROPERTIES PASS_REGULAR_EXPRESSION "[Cc]annot open") +set_tests_properties(${prefix}/nonexistingvm PROPERTIES PASS_REGULAR_EXPRESSION "[Cc]annot open|no such file") add_test(NAME ${prefix}/noarg COMMAND evmc::evmc-vmtester) set_tests_properties(${prefix}/noarg PROPERTIES PASS_REGULAR_EXPRESSION "is required") From 9855bc7ac58e5b750fd91994ae868565a7465834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 24 Aug 2022 13:55:58 +0200 Subject: [PATCH 4/4] ci: Upgrade and clean up builds, add macOS --- circle.yml | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/circle.yml b/circle.yml index 1b738f027..3f39ea3e7 100644 --- a/circle.yml +++ b/circle.yml @@ -6,10 +6,10 @@ orbs: executors: linux-gcc-latest: docker: - - image: ethereum/cpp-build-env:17-gcc-11 + - image: ethereum/cpp-build-env:18-gcc-12 linux-clang-latest: docker: - - image: ethereum/cpp-build-env:17-clang-13 + - image: ethereum/cpp-build-env:18-clang-14 commands: @@ -271,7 +271,7 @@ jobs: build-gcc-32bit: docker: - - image: ethereum/cpp-build-env:14-gcc-10-multilib + - image: ethereum/cpp-build-env:17-gcc-11-multilib steps: - checkout - build: @@ -280,7 +280,7 @@ jobs: build-cmake-min: docker: - - image: circleci/buildpack-deps:bionic + - image: cimg/base:stable-18.04 steps: - run: name: "Install default CMake" @@ -289,9 +289,20 @@ jobs: - build - test + build-macos: + macos: + xcode: 14.0.0 + steps: + - run: + name: "Install System Dependencies" + command: HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake + - checkout + - build + - test + bindings-go-latest: docker: - - image: circleci/golang + - image: cimg/go:1.19 steps: - go_test @@ -411,6 +422,7 @@ workflows: - build-clang-min - build-gcc-32bit - build-cmake-min + - build-macos - bindings-go-latest: filters: tags: