From 23b1a0ab70f190dbbb33dabb18ec039c7d85d6b3 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 11 Jan 2020 23:51:49 +0300 Subject: Add implementation --- libcurl/tests/basic/buildfile | 7 ++++++ libcurl/tests/basic/driver.c | 48 ++++++++++++++++++++++++++++++++++++++++++ libcurl/tests/basic/testscript | 27 ++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 libcurl/tests/basic/buildfile create mode 100644 libcurl/tests/basic/driver.c create mode 100644 libcurl/tests/basic/testscript (limited to 'libcurl/tests/basic') diff --git a/libcurl/tests/basic/buildfile b/libcurl/tests/basic/buildfile new file mode 100644 index 0000000..a01f5f2 --- /dev/null +++ b/libcurl/tests/basic/buildfile @@ -0,0 +1,7 @@ +# file : tests/basic/buildfile +# copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC +# license : cURL License; see accompanying COPYING file + +import libs = libcurl%lib{curl} + +exe{driver}: {h c}{*} $libs testscript diff --git a/libcurl/tests/basic/driver.c b/libcurl/tests/basic/driver.c new file mode 100644 index 0000000..8e78ba9 --- /dev/null +++ b/libcurl/tests/basic/driver.c @@ -0,0 +1,48 @@ +/* file : tests/basic/driver.c + * copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC + * license : cURL License; see accompanying COPYING file + */ +#include +#include + +#include + +/* Usage: argv[0] + * + * Request the specified URL and print the response to stdout. + */ +int +main (int argc, char* argv[]) +{ + assert (argc == 2); + + const char* url = argv[1]; + + curl_global_init (CURL_GLOBAL_DEFAULT); + + int r = 1; + + CURL* curl = curl_easy_init (); + + if (curl != NULL) + { + curl_easy_setopt (curl, CURLOPT_URL, url); + + CURLcode cr = curl_easy_perform (curl); + + if (cr == CURLE_OK) + r = 0; + else + fprintf (stderr, + "failed to request '%s': %s\n", + url, + curl_easy_strerror (cr)); + + curl_easy_cleanup (curl); + } + else + fprintf (stderr, "curl_easy_init() failed\n"); + + curl_global_cleanup (); + return r; +} diff --git a/libcurl/tests/basic/testscript b/libcurl/tests/basic/testscript new file mode 100644 index 0000000..a2260f4 --- /dev/null +++ b/libcurl/tests/basic/testscript @@ -0,0 +1,27 @@ +# file : tests/basic/testscript +# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd +# license : cURL License; see accompanying COPYING file + +: http +: +$* 'http://www.example.com' >>~%EOO% +%% +%.+ +EOO + +: https +: +: Test that an HTTPS URL is queried successfully via the system SSL backend +: on Windows and MacOS/Clang and fails for other targets that use the OpenSSL +: backend by default. +: +if ($c.target.class == 'windows' || \ + $c.target.class == 'macos' && $c.id == 'clang-apple') +{ + $* 'http://www.example.com' | set s; + $* 'https://www.example.com' >"$s" +} +else +{ + $* 'https://www.example.com' 2>~'%failed to request .+%' != 0 +} -- cgit v1.1