@@ -7351,16 +7351,9 @@ int main(int argc, char **argv) {
73517351    /* find random seed */ 
73527352    secp256k1_testrand_init (argc  >  2  ? argv [2 ] : NULL );
73537353
7354-     /* initialize */ 
7355-     /* Make a writable copy of secp256k1_context_static in order to test the effect of API functions 
7356-        that write to the context. The API does not support cloning the static context, so we use 
7357-        memcpy instead. The user is not supposed to copy a context but we should still ensure that 
7358-        the API functions handle copies of the static context gracefully. */ 
7359-     sttc  =  malloc (sizeof (* secp256k1_context_static ));
7360-     CHECK (sttc  !=  NULL );
7361-     memcpy (sttc , secp256k1_context_static , sizeof (secp256k1_context ));
7362-     CHECK (!secp256k1_context_is_proper (sttc ));
7354+     /*** Setup test environment ***/ 
73637355
7356+     /* Create a global context available to all tests */ 
73647357    ctx  =  secp256k1_context_create (SECP256K1_CONTEXT_NONE );
73657358    /* Randomize the context only with probability 15/16 
73667359       to make sure we test without context randomization from time to time. 
@@ -7370,23 +7363,41 @@ int main(int argc, char **argv) {
73707363        secp256k1_testrand256 (rand32 );
73717364        CHECK (secp256k1_context_randomize (ctx , rand32 ));
73727365    }
7366+     /* Make a writable copy of secp256k1_context_static in order to test the effect of API functions 
7367+        that write to the context. The API does not support cloning the static context, so we use 
7368+        memcpy instead. The user is not supposed to copy a context but we should still ensure that 
7369+        the API functions handle copies of the static context gracefully. */ 
7370+     sttc  =  malloc (sizeof (* secp256k1_context_static ));
7371+     CHECK (sttc  !=  NULL );
7372+     memcpy (sttc , secp256k1_context_static , sizeof (secp256k1_context ));
7373+     CHECK (!secp256k1_context_is_proper (sttc ));
7374+ 
7375+     /*** Run actual tests ***/ 
73737376
7377+     /* selftest tests */ 
73747378    run_selftest_tests ();
7379+ 
7380+     /* context tests */ 
73757381    run_context_tests (0 );
73767382    run_context_tests (1 );
73777383    run_deprecated_context_flags_test ();
7384+ 
7385+     /* scratch tests */ 
73787386    run_scratch_tests ();
73797387
7388+     /* randomness tests */ 
73807389    run_rand_bits ();
73817390    run_rand_int ();
73827391
7392+     /* integer arithmetic tests */ 
73837393#ifdef  SECP256K1_WIDEMUL_INT128 
73847394    run_int128_tests ();
73857395#endif 
73867396    run_ctz_tests ();
73877397    run_modinv_tests ();
73887398    run_inverse_tests ();
73897399
7400+     /* hash tests */ 
73907401    run_sha256_known_output_tests ();
73917402    run_sha256_counter_tests ();
73927403    run_hmac_sha256_tests ();
@@ -7466,12 +7477,12 @@ int main(int argc, char **argv) {
74667477
74677478    run_cmov_tests ();
74687479
7469-     secp256k1_testrand_finish ();
7470- 
7471-     /* shutdown */ 
7480+     /*** Tear down test environment ***/ 
74727481    free (sttc );
74737482    secp256k1_context_destroy (ctx );
74747483
7484+     secp256k1_testrand_finish ();
7485+ 
74757486    printf ("no problems found\n" );
74767487    return  0 ;
74777488}
0 commit comments