summaryrefslogtreecommitdiff
path: root/libcurl/tests/basic
diff options
context:
space:
mode:
Diffstat (limited to 'libcurl/tests/basic')
-rw-r--r--libcurl/tests/basic/buildfile7
-rw-r--r--libcurl/tests/basic/driver.c48
-rw-r--r--libcurl/tests/basic/testscript27
3 files changed, 82 insertions, 0 deletions
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 <stdio.h>
+#include <assert.h>
+
+#include <curl/curl.h>
+
+/* Usage: argv[0] <URL>
+ *
+ * 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%
+%<!doctype .*>%
+%.+
+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
+}