aboutsummaryrefslogtreecommitdiff
path: root/tests/libtest/chkhostname.c
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2010-07-30 00:47:49 +0200
committerDaniel Stenberg <daniel@haxx.se>2010-07-30 00:51:24 +0200
commitb5c3feda1788301bea7f1dd4f9bb240d13862bd0 (patch)
tree50e6cbe63ec308b53d3bec11456b80832f94f634 /tests/libtest/chkhostname.c
parent01c309e186b3f1055d56211d4074f451bf5282bf (diff)
NTLM tests: boost coverage by forcing the hostname
A shared library tests/libtest/.libs/lihostname.so is preloaded in NTLM test-cases to override the system implementation of gethostname(). It makes it possible to test the NTLM authentication for exact match, and this way test the implementation of MD4 and DES. If LD_PRELOAD doesn't work, a debug build willl also workk as debug builds are now made to prefer a specific environment variable and will then return that content as host name instead of the actual one. Kamil wrote the bulk of this, Daniel Stenberg polished it.
Diffstat (limited to 'tests/libtest/chkhostname.c')
-rw-r--r--tests/libtest/chkhostname.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/libtest/chkhostname.c b/tests/libtest/chkhostname.c
new file mode 100644
index 000000000..686eb471a
--- /dev/null
+++ b/tests/libtest/chkhostname.c
@@ -0,0 +1,26 @@
+#include "curl_gethostname.h"
+
+#include <stdio.h>
+
+#define HOSTNAME_MAX 1024
+
+int main(int argc, char *argv[])
+{
+ char buff[HOSTNAME_MAX];
+ if (argc != 2) {
+ printf("Usage: %s EXPECTED_HOSTNAME\n", argv[0]);
+ return 1;
+ }
+
+ if (Curl_gethostname(buff, HOSTNAME_MAX)) {
+ printf("Curl_gethostname() failed\n");
+ return 1;
+ }
+
+ /* compare the name returned by Curl_gethostname() with the expected one */
+ if(strncmp(buff, argv[1], HOSTNAME_MAX)) {
+ printf("got unexpected host name back, LD_PRELOAD failed\n");
+ return 1;
+ }
+ return 0;
+}