Make dummy tests to make it easier to physically remove unwanted algorithms.
authorRichard Levitte <levitte@openssl.org>
Tue, 23 Jul 2002 13:31:04 +0000 (13:31 +0000)
committerRichard Levitte <levitte@openssl.org>
Tue, 23 Jul 2002 13:31:04 +0000 (13:31 +0000)
This should complete PR 75

Configure
Makefile.org
test/Makefile.ssl
test/dummytest.c [new file with mode: 0644]
util/pod2mantest

index c14ecac..4459429 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -1457,6 +1457,7 @@ EOF
        my $make_targets = "";
        $make_targets .= " links" if $symlink;
        $make_targets .= " depend" if $depflags ne "" && $make_depend;
+       $make_targets .= " gentests" if $symlink;
        (system $make_command.$make_targets) == 0 or exit $?
                if $make_targets ne "";
        if ( $perl =~ m@^/@) {
index de902c7..eb3f537 100644 (file)
@@ -564,6 +564,10 @@ links:
        fi; \
        done;
 
+gentests:
+       @(cd test && echo "generating dummy tests (if needed)..." && \
+       $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' TESTS='${TESTS}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
+
 dclean:
        rm -f *.bak
        @for i in $(DIRS) ;\
index 0480635..6adc6b8 100644 (file)
@@ -98,7 +98,7 @@ top:
 
 all:   exe
 
-exe:   $(EXE)
+exe:   $(EXE) dummytest
 
 files:
        $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
@@ -106,6 +106,10 @@ files:
 links:
        @@$(TOP)/util/point.sh Makefile.ssl Makefile
 
+generate: $(SRC)
+$(SRC):
+       @$(TOP)/util/point.sh dummytest.c $@
+
 errors:
 
 install:
@@ -374,6 +378,9 @@ $(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO)
 #$(RDTEST): $(RDTEST).o $(DLIBCRYPTO)
 #      $(CC) -o $(RDTEST) $(CFLAGS) $(RDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
 
+dummytest: dummytest.o $(DLIBCRYPTO)
+       $(CC) -o dummytest $(CFLAGS) dummytest.o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
 bftest.o: ../include/openssl/blowfish.h ../include/openssl/e_os2.h
diff --git a/test/dummytest.c b/test/dummytest.c
new file mode 100644 (file)
index 0000000..f98f003
--- /dev/null
@@ -0,0 +1,47 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <openssl/e_os2.h>
+#include <openssl/buffer.h>
+#include <openssl/crypto.h>
+
+int main(int argc, char *argv[])
+       {
+       char *p, *q, *program;
+
+       p = strrchr(argv[0], '/');
+       if (!p) p = strrchr(argv[0], '\\');
+#ifdef OPENSSL_SYS_VMS
+       if (!p) p = strrchr(argv[0], ']');
+       if (p) q = strrchr(p, '>');
+       if (q) p = q;
+       if (!p) p = strrchr(argv[0], ':');
+       q = 0;
+#endif
+       if (p) p++;
+       if (!p) p = argv[0];
+       if (p) q = strchr(p, '.');
+       if (p && !q) q = p + strlen(p);
+
+       if (!p)
+               program = BUF_strdup("(unknown)");
+       else
+               {
+               program = OPENSSL_malloc((q - p) + 1);
+               strncpy(program, p, q - p);
+               program[q - p] = '\0';
+               }
+
+       for(p = program; *p; p++)
+               if (islower(*p)) *p = toupper(*p);
+
+       q = strstr(program, "TEST");
+       if (q > p && q[-1] == '_') q--;
+       *q = '\0';
+
+       printf("No %s support\n", program);
+
+       OPENSSL_free(program);
+       return(0);
+       }
index 8e91318..e01c619 100755 (executable)
@@ -14,7 +14,7 @@ IFS=:
 if test "$OSTYPE" = "msdosdjgpp"; then IFS=";"; fi
 try_without_dir=false
 # First we try "pod2man", then "$dir/pod2man" for each item in $PATH.
-for dir in dummy:$PATH; do
+for dir in dummy${IFS}$PATH; do
     if [ "$try_without_dir" = true ]; then
       # first iteration
       pod2man=pod2man