]> granicus.if.org Git - curl/commitdiff
test: added test 580 - verifies symbols-in-versions
authorDaniel Stenberg <daniel@haxx.se>
Tue, 2 Nov 2010 21:27:33 +0000 (22:27 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 2 Nov 2010 21:27:33 +0000 (22:27 +0100)
The new perl script mk580.pl generates a C table in a fresh source file
named lib580.c and if that compiles fine we know that the file
docs/libcurl/symbols-in-versions at least doesn't include any symbols
that are misspelled.

An additional feature would be to somehow scan curl/curl.h and compare
with symbols-in-versions to see if there are symbols missing.

tests/libtest/Makefile.inc
tests/libtest/mk580.pl [new file with mode: 0644]

index a0f1c0ecb4a7f7633fee23cbede0df565c69d36c..39d59fd3abf9947f98a247c9e22217c6123c5430 100644 (file)
@@ -12,7 +12,7 @@ noinst_PROGRAMS = lib500 lib501 lib502 lib503 lib504 lib505 lib506    \
   lib529 lib530 lib532 lib533 lib536 lib537 lib540 lib541 lib542 lib543 \
   lib544 lib545 lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 \
   lib539 lib557 lib558 lib559 lib560 lib562 lib564 lib565 lib566 lib567 \
-  lib568 lib569 lib570 lib571 lib572 lib573 chkhostname
+  lib568 lib569 lib570 lib571 lib572 lib573 chkhostname lib580
 
 chkhostname_SOURCES = chkhostname.c $(top_srcdir)/lib/curl_gethostname.c
 chkhostname_LDADD = @CURL_NETWORK_LIBS@
@@ -164,3 +164,8 @@ lib573_SOURCES = lib573.c $(SUPPORTFILES) $(TESTUTIL)
 lib578_SOURCES = lib578.c $(SUPPORTFILES)
 
 lib579_SOURCES = lib579.c $(SUPPORTFILES)
+
+lib580_SOURCES = lib580.c $(SUPPORTFILES)
+
+lib580.c: mk580.pl $(top_srcdir)/docs/libcurl/symbols-in-versions
+       $(PERL) mk580.pl $(top_srcdir)/docs/libcurl/symbols-in-versions > $@
diff --git a/tests/libtest/mk580.pl b/tests/libtest/mk580.pl
new file mode 100644 (file)
index 0000000..8dc6d57
--- /dev/null
@@ -0,0 +1,18 @@
+open(S, '<', $ARGV[0]);
+
+print <<EOF
+#include "curl/curl.h"
+int test[] = {
+EOF
+    ;
+while(<S>) {
+    my @a=split(/ +/);
+    chomp $a[0];
+    chomp $a[3];
+    if($a[0] && !$a[3]) {
+        printf("%s,\n", $a[0]);
+    }
+}
+print "};\n";
+close(S);