diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-02-15 14:47:15 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-02-17 16:27:50 +0100 |
commit | ebe7695ee5803dd3c2bb4f22f5e12d776c985d56 (patch) | |
tree | 9aca606caff43ed369d6afafa75a09ff5388c251 /test/utils/cpp | |
parent | b6a4271feaa2ed9eaa553189183a74cb28c4b5fd (diff) | |
download | justbuild-ebe7695ee5803dd3c2bb4f22f5e12d776c985d56.tar.gz |
structure cleanup: move libcurl utilities to other_tools...
...in order to not include unwanted dependencies in just proper.
As the whole other_tools folder is meant to be excluded from
bootstrapping, also remove the bootstrap guards.
Diffstat (limited to 'test/utils/cpp')
-rw-r--r-- | test/utils/cpp/TARGETS | 25 | ||||
-rw-r--r-- | test/utils/cpp/curl_usage.test.cpp | 60 | ||||
-rw-r--r-- | test/utils/cpp/curl_usage_test.sh | 60 |
3 files changed, 1 insertions, 144 deletions
diff --git a/test/utils/cpp/TARGETS b/test/utils/cpp/TARGETS index 05e344cd..9da792dc 100644 --- a/test/utils/cpp/TARGETS +++ b/test/utils/cpp/TARGETS @@ -9,26 +9,6 @@ ] , "stage": ["test", "utils", "cpp"] } -, "curl_usage_install": - { "type": ["@", "rules", "CC", "binary"] - , "tainted": ["test"] - , "name": ["curl_usage"] - , "srcs": ["curl_usage.test.cpp"] - , "private-deps": - [ ["@", "catch2", "", "catch2"] - , ["test", "catch-main"] - , ["src/utils/cpp", "curl_context"] - , ["src/utils/cpp", "curl_easy_handle"] - , ["src/buildtool/file_system", "file_system_manager"] - ] - , "stage": ["test", "utils", "cpp"] - } -, "curl_usage_test": - { "type": ["@", "rules", "shell/test", "script"] - , "name": ["curl_usage_test"] - , "test": ["curl_usage_test.sh"] - , "deps": [["test/utils", "test_utils_install"], "curl_usage_install"] - } , "file_locking": { "type": ["@", "rules", "CC/test", "test"] , "name": ["file_locking"] @@ -43,8 +23,5 @@ , "stage": ["test", "utils", "cpp"] } , "TESTS": - { "type": "install" - , "tainted": ["test"] - , "deps": ["path", "curl_usage_test", "file_locking"] - } + {"type": "install", "tainted": ["test"], "deps": ["path", "file_locking"]} } diff --git a/test/utils/cpp/curl_usage.test.cpp b/test/utils/cpp/curl_usage.test.cpp deleted file mode 100644 index dc6666d4..00000000 --- a/test/utils/cpp/curl_usage.test.cpp +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2022 Huawei Cloud Computing Technology Co., Ltd. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "catch2/catch.hpp" -#include "src/buildtool/file_system/file_system_manager.hpp" -#include "src/utils/cpp/curl_context.hpp" -#include "src/utils/cpp/curl_easy_handle.hpp" - -// The caller of this test needs to make sure the port is given as content of -// the file "port.txt" in the directory where this test is run -[[nodiscard]] auto getPort() noexcept -> std::string { - // read file where port has to be given - auto port = FileSystemManager::ReadFile(std::filesystem::path("port.txt")); - REQUIRE(port); - // strip any end terminator - std::erase_if(*port, [](auto ch) { return (ch == '\n' or ch == '\r'); }); - return *port; -} - -TEST_CASE("Curl context", "[curl_context]") { - CurlContext curl_context{}; -} - -TEST_CASE("Curl easy handle", "[curl_easy_handle]") { - auto kServerUrl = std::string("http://127.0.0.1:") + getPort() + - std::string("/test_file.txt"); - auto kTargetDir = - std::filesystem::path(std::getenv("TEST_TMPDIR")) / "target_dir"; - - // make target dir - CHECK(FileSystemManager::CreateDirectory(kTargetDir)); - // create handle - auto curl_handle = CurlEasyHandle::Create(); - REQUIRE(curl_handle); - - SECTION("Curl download to file") { - // download test file from local HTTP server into new location - auto file_path = kTargetDir / "test_file.txt"; - REQUIRE(curl_handle->DownloadToFile(kServerUrl, file_path) == 0); - REQUIRE(FileSystemManager::IsFile(file_path)); - } - - SECTION("Curl download to string") { - // download test file from local HTTP server into string - auto content = curl_handle->DownloadToString(kServerUrl); - REQUIRE(content); - REQUIRE(*content == "test\n"); - } -} diff --git a/test/utils/cpp/curl_usage_test.sh b/test/utils/cpp/curl_usage_test.sh deleted file mode 100644 index 3ff874cb..00000000 --- a/test/utils/cpp/curl_usage_test.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# Copyright 2022 Huawei Cloud Computing Technology Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -eu - -# cleanup of http.server; pass server_pid as arg -server_cleanup() { - echo "Shut down HTTP server" - # send SIGTERM - kill ${1} & res=$! - wait ${res} - echo "done" -} - -readonly ROOT=`pwd` - -readonly SERVER_ROOT="${TEST_TMPDIR}/server-root" - -echo "Create test file" -mkdir -p "${SERVER_ROOT}" -cd "${SERVER_ROOT}" -cat > test_file.txt <<EOF -test -EOF - -echo "Publish test file as local HTTP server" -# define location to store port number -port_file="${ROOT}/port.txt" -# start Python server as remote -python3 -u "${ROOT}/utils/run_test_server.py" >"${port_file}" & server_pid=$! -sleep 1s # give some time to set up properly -# set up cleanup of http server -trap "server_cleanup ${server_pid}" INT TERM EXIT - -cd "${ROOT}" - -echo "Run curl usage test" -error=false -test/utils/cpp/curl_usage & res=$! -wait $res -if [ $? -ne 0 ]; then - error=true -fi - -# check test status -if [ $error = true ]; then - exit 1 -fi |