gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 115/153: test1148: disable if decimal separator is


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 115/153: test1148: disable if decimal separator is not point
Date: Tue, 11 Sep 2018 12:53:06 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 93b34981fa6f82e49ffe90ba8b6f0fefbfba281e
Author: Marcel Raad <address@hidden>
AuthorDate: Tue Jul 24 23:26:45 2018 +0200

    test1148: disable if decimal separator is not point
    
    Modifying the locale with environment variables doesn't work for native
    Windows applications. Just disable the test in this case if the decimal
    separator is something different than a point. Use a precheck with a
    small C program to achieve that.
    
    Closes https://github.com/curl/curl/pull/2786
---
 tests/data/test1148             |  3 +++
 tests/libtest/CMakeLists.txt    |  3 +++
 tests/libtest/Makefile.inc      |  7 +++++++
 tests/libtest/chkdecimalpoint.c | 41 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 54 insertions(+)

diff --git a/tests/data/test1148 b/tests/data/test1148
index bf65aa411..47fb5a5d4 100644
--- a/tests/data/test1148
+++ b/tests/data/test1148
@@ -37,6 +37,9 @@ progress-bar
  <command>
 http://%HOSTIP:%HTTPPORT/1148 -# --stderr log/stderrlog1148
 </command>
+<precheck>
+perl -e '$ENV{"LC_NUMERIC"} = "en_US.UTF-8"; 
system("./libtest/chkdecimalpoint") and die("Test requires point as decimal 
separator");'
+</precheck>
 <setenv>
 LC_ALL=
 LC_NUMERIC=en_US.UTF-8
diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt
index bf2bc5e7e..ac8d33328 100644
--- a/tests/libtest/CMakeLists.txt
+++ b/tests/libtest/CMakeLists.txt
@@ -56,6 +56,9 @@ add_custom_command(
     "${CMAKE_SOURCE_DIR}/include/curl/curl.h"
   VERBATIM)
 
+set_property(TARGET chkdecimalpoint
+  APPEND PROPERTY COMPILE_DEFINITIONS 
"CURLX_NO_MEMORY_CALLBACKS;CURL_STATICLIB")
+
   # # files used only in some libcurl test programs
 # SET(TESTUTIL testutil.c testutil.h)
 
diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc
index 61616ba1d..238ef97d7 100644
--- a/tests/libtest/Makefile.inc
+++ b/tests/libtest/Makefile.inc
@@ -12,6 +12,7 @@ SUPPORTFILES = first.c test.h
 
 # These are all libcurl test programs
 noinst_PROGRAMS = chkhostname libauthretry libntlmconnect                \
+ chkdecimalpoint                                                         \
  lib500 lib501 lib502 lib503 lib504 lib505 lib506 lib507 lib508 lib509   \
  lib510 lib511 lib512 lib513 lib514 lib515 lib516 lib517 lib518 lib519   \
  lib520 lib521 lib523 lib524 lib525 lib526 lib527 lib529 lib530 lib532   \
@@ -32,6 +33,12 @@ noinst_PROGRAMS = chkhostname libauthretry libntlmconnect    
            \
  lib1900 \
  lib2033
 
+chkdecimalpoint_SOURCES = chkdecimalpoint.c ../../lib/mprintf.c \
+ ../../lib/curl_ctype.c
+chkdecimalpoint_LDADD =
+chkdecimalpoint_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB \
+ -DCURLX_NO_MEMORY_CALLBACKS
+
 chkhostname_SOURCES = chkhostname.c ../../lib/curl_gethostname.c
 chkhostname_LDADD = @CURL_NETWORK_LIBS@
 chkhostname_DEPENDENCIES =
diff --git a/tests/libtest/chkdecimalpoint.c b/tests/libtest/chkdecimalpoint.c
new file mode 100644
index 000000000..b5f5070c0
--- /dev/null
+++ b/tests/libtest/chkdecimalpoint.c
@@ -0,0 +1,41 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_printf.h"
+
+#include <string.h>
+#include <locale.h>
+
+#define TOTAL_STR_LEN 4
+
+int main(void)
+{
+  char zero[TOTAL_STR_LEN] = {'\0'};
+  int chars;
+
+  setlocale(LC_NUMERIC, "");
+  chars = snprintf(zero, TOTAL_STR_LEN, "%.1f", 0.0);
+  if((chars == (TOTAL_STR_LEN - 1)) && (strcmp(zero, "0.0") == 0))
+    return 0;
+  else
+    return 1;
+}

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]