summaryrefslogtreecommitdiff
path: root/test/utils/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/utils/cpp')
-rw-r--r--test/utils/cpp/TARGETS25
-rw-r--r--test/utils/cpp/curl_usage.test.cpp60
-rw-r--r--test/utils/cpp/curl_usage_test.sh60
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