Reduce the security bits for MD5 and SHA1 based signatures in TLS
[openssl.git] / test / README
index fc9f7d03b1c50b80f76381a618095aacfa3c224b..9094d9a38dae9b0991f72eff4bbf59a048b0b04d 100644 (file)
@@ -6,7 +6,8 @@ test/recipes/, named {nn}-test_{name}.t, where {nn} is a two digit number and
 {name} is a unique name of your choice.
 
 Please note that if a test involves a new testing executable, you will need to
-do some additions in test/Makefile.  More on this later.
+do some additions in test/build.info. Please refer to the section "Changes to 
+test/build.info" below.
 
 
 Naming conventions
@@ -26,7 +27,10 @@ The number {nn} is (somewhat loosely) grouped as follows:
 20-24  openssl commands (some otherwise not tested)
 25-29  certificate forms, generation and verification
 30-35  engine and evp
-60-79  APIs
+60-79  APIs:
+   60  X509 subsystem
+   61  BIO subsystem
+   65  CMP subsystem
    70  PACKET layer
 80-89  "larger" protocols (CA, CMS, OCSP, SSL, TSA)
 90-98  misc
@@ -39,9 +43,9 @@ A recipe that just runs a test executable
 A script that just runs a program looks like this:
 
     #! /usr/bin/perl
-    
+
     use OpenSSL::Test::Simple;
-    
+
     simple_test("test_{name}", "{name}test", "{name}");
 
 {name} is the unique name you have chosen for your test.
@@ -50,7 +54,7 @@ The second argument to `simple_test' is the test executable, and `simple_test'
 expects it to be located in test/
 
 For documentation on OpenSSL::Test::Simple, do
-`perldoc test/testlib/OpenSSL/Test/Simple.pm'.
+`perldoc util/perl/OpenSSL/Test/Simple.pm'.
 
 
 A recipe that runs a more complex test
@@ -58,33 +62,33 @@ A recipe that runs a more complex test
 
 For more complex tests, you will need to read up on Test::More and
 OpenSSL::Test.  Test::More is normally preinstalled, do `man Test::More' for
-documentation.  For OpenSSL::Test, do `perldoc test/testlib/OpenSSL/Test.pm'.
+documentation.  For OpenSSL::Test, do `perldoc util/perl/OpenSSL/Test.pm'.
 
 A script to start from could be this:
 
     #! /usr/bin/perl
-    
+
     use strict;
     use warnings;
     use OpenSSL::Test;
-    
+
     setup("test_{name}");
-    
+
     plan tests => 2;                # The number of tests being performed
-    
+
     ok(test1, "test1");
     ok(test2, "test1");
-    
+
     sub test1
     {
         # test feature 1
     }
-    
+
     sub test2
     {
         # test feature 2
     }
-    
+
 
 Changes to test/build.info
 ==========================
@@ -100,7 +104,7 @@ to modify the include paths and source files if you don't want to use the
 basic test framework:
 
     SOURCE[{name}]={name}.c
-    INCLUDE[{name}]=.. ../include
+    INCLUDE[{name}]=.. ../include ../apps/include
     DEPEND[{name}]=../libcrypto libtestutil.a
 
 Generic form of C test executables
@@ -114,7 +118,7 @@ Generic form of C test executables
         int observed;
 
         observed = function();              /* Call the code under test     */
-        if (!TEST_int_equal(observed, 2))   /* Check the result is correct  */
+        if (!TEST_int_eq(observed, 2))      /* Check the result is correct  */
             goto end;                       /* Exit on failure - optional   */
 
         testresult = 1;                     /* Mark the test case a success */
@@ -123,9 +127,10 @@ Generic form of C test executables
         return testresult;
     }
 
-    void register_tests(void)
+    int setup_tests(void)
     {
         ADD_TEST(my_test);                  /* Add each test separately     */
+        return 1;                           /* Indicate success             */
     }
 
 You should use the TEST_xxx macros provided by testutil.h to test all failure
@@ -146,3 +151,7 @@ works fine and can be used in place of:
 
 The former produces a more meaningful message on failure than the latter.
 
+Note that the test infrastructure automatically sets up all required environment
+variables (such as OPENSSL_MODULES, OPENSSL_CONF etc) for the tests. Individual
+tests may choose to override the default settings as required.
+