1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* crypto/sha/sha512t.c */ 2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* ==================================================================== 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Copyright (c) 2004 The OpenSSL Project. All rights reserved. 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ==================================================================== 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <stdio.h> 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <string.h> 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <stdlib.h> 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/sha.h> 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/evp.h> 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/crypto.h> 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if defined(OPENSSL_NO_SHA) || defined(OPENSSL_NO_SHA512) 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint main(int argc, char *argv[]) 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project{ 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project printf("No SHA512 support\n"); 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return(0); 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project} 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#else 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned char app_c1[SHA512_DIGEST_LENGTH] = { 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xdd,0xaf,0x35,0xa1,0x93,0x61,0x7a,0xba, 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xcc,0x41,0x73,0x49,0xae,0x20,0x41,0x31, 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x12,0xe6,0xfa,0x4e,0x89,0xa9,0x7e,0xa2, 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x0a,0x9e,0xee,0xe6,0x4b,0x55,0xd3,0x9a, 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x21,0x92,0x99,0x2a,0x27,0x4f,0xc1,0xa8, 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x36,0xba,0x3c,0x23,0xa3,0xfe,0xeb,0xbd, 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x45,0x4d,0x44,0x23,0x64,0x3c,0xe8,0x0e, 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x2a,0x9a,0xc9,0x4f,0xa5,0x4c,0xa4,0x9f }; 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned char app_c2[SHA512_DIGEST_LENGTH] = { 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x8e,0x95,0x9b,0x75,0xda,0xe3,0x13,0xda, 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x8c,0xf4,0xf7,0x28,0x14,0xfc,0x14,0x3f, 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x8f,0x77,0x79,0xc6,0xeb,0x9f,0x7f,0xa1, 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x72,0x99,0xae,0xad,0xb6,0x88,0x90,0x18, 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x50,0x1d,0x28,0x9e,0x49,0x00,0xf7,0xe4, 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x33,0x1b,0x99,0xde,0xc4,0xb5,0x43,0x3a, 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xc7,0xd3,0x29,0xee,0xb6,0xdd,0x26,0x54, 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x5e,0x96,0xe5,0x5b,0x87,0x4b,0xe9,0x09 }; 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned char app_c3[SHA512_DIGEST_LENGTH] = { 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xe7,0x18,0x48,0x3d,0x0c,0xe7,0x69,0x64, 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x4e,0x2e,0x42,0xc7,0xbc,0x15,0xb4,0x63, 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x8e,0x1f,0x98,0xb1,0x3b,0x20,0x44,0x28, 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x56,0x32,0xa8,0x03,0xaf,0xa9,0x73,0xeb, 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xde,0x0f,0xf2,0x44,0x87,0x7e,0xa6,0x0a, 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x4c,0xb0,0x43,0x2c,0xe5,0x77,0xc3,0x1b, 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xeb,0x00,0x9c,0x5c,0x2c,0x49,0xaa,0x2e, 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x4e,0xad,0xb2,0x17,0xad,0x8c,0xc0,0x9b }; 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned char app_d1[SHA384_DIGEST_LENGTH] = { 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xcb,0x00,0x75,0x3f,0x45,0xa3,0x5e,0x8b, 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xb5,0xa0,0x3d,0x69,0x9a,0xc6,0x50,0x07, 55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x27,0x2c,0x32,0xab,0x0e,0xde,0xd1,0x63, 56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x1a,0x8b,0x60,0x5a,0x43,0xff,0x5b,0xed, 57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x80,0x86,0x07,0x2b,0xa1,0xe7,0xcc,0x23, 58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x58,0xba,0xec,0xa1,0x34,0xc8,0x25,0xa7 }; 59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned char app_d2[SHA384_DIGEST_LENGTH] = { 61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x09,0x33,0x0c,0x33,0xf7,0x11,0x47,0xe8, 62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x3d,0x19,0x2f,0xc7,0x82,0xcd,0x1b,0x47, 63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x53,0x11,0x1b,0x17,0x3b,0x3b,0x05,0xd2, 64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x2f,0xa0,0x80,0x86,0xe3,0xb0,0xf7,0x12, 65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xfc,0xc7,0xc7,0x1a,0x55,0x7e,0x2d,0xb9, 66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x66,0xc3,0xe9,0xfa,0x91,0x74,0x60,0x39 }; 67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned char app_d3[SHA384_DIGEST_LENGTH] = { 69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x9d,0x0e,0x18,0x09,0x71,0x64,0x74,0xcb, 70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x08,0x6e,0x83,0x4e,0x31,0x0a,0x4a,0x1c, 71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xed,0x14,0x9e,0x9c,0x00,0xf2,0x48,0x52, 72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x79,0x72,0xce,0xc5,0x70,0x4c,0x2a,0x5b, 73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0x07,0xb8,0xb3,0xdc,0x38,0xec,0xc4,0xeb, 74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 0xae,0x97,0xdd,0xd8,0x7f,0x3d,0x89,0x85 }; 75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint main (int argc,char **argv) 77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project{ unsigned char md[SHA512_DIGEST_LENGTH]; 78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int i; 79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_MD_CTX evp; 80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef OPENSSL_IA32_SSE2 82656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project /* Alternative to this is to call OpenSSL_add_all_algorithms... 83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The below code is retained exclusively for debugging purposes. */ 84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { char *env; 85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if ((env=getenv("OPENSSL_ia32cap"))) 87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project OPENSSL_ia32cap = strtoul (env,NULL,0); 88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"Testing SHA-512 "); 92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_Digest ("abc",3,md,NULL,EVP_sha512(),NULL); 94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if (memcmp(md,app_c1,sizeof(app_c1))) 95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { fflush(stdout); 96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stderr,"\nTEST 1 of 3 failed.\n"); 97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 1; 98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project else 100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"."); fflush(stdout); 101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_Digest ("abcdefgh""bcdefghi""cdefghij""defghijk" 103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "efghijkl""fghijklm""ghijklmn""hijklmno" 104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "ijklmnop""jklmnopq""klmnopqr""lmnopqrs" 105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "mnopqrst""nopqrstu",112,md,NULL,EVP_sha512(),NULL); 106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if (memcmp(md,app_c2,sizeof(app_c2))) 107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { fflush(stdout); 108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stderr,"\nTEST 2 of 3 failed.\n"); 109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 1; 110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project else 112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"."); fflush(stdout); 113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_MD_CTX_init (&evp); 115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_DigestInit_ex (&evp,EVP_sha512(),NULL); 116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project for (i=0;i<1000000;i+=288) 117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_DigestUpdate (&evp, "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa", 126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project (1000000-i)<288?1000000-i:288); 127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_DigestFinal_ex (&evp,md,NULL); 128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_MD_CTX_cleanup (&evp); 129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if (memcmp(md,app_c3,sizeof(app_c3))) 131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { fflush(stdout); 132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stderr,"\nTEST 3 of 3 failed.\n"); 133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 1; 134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project else 136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"."); fflush(stdout); 137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout," passed.\n"); fflush(stdout); 139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"Testing SHA-384 "); 141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_Digest ("abc",3,md,NULL,EVP_sha384(),NULL); 143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if (memcmp(md,app_d1,sizeof(app_d1))) 144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { fflush(stdout); 145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stderr,"\nTEST 1 of 3 failed.\n"); 146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 1; 147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project else 149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"."); fflush(stdout); 150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_Digest ("abcdefgh""bcdefghi""cdefghij""defghijk" 152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "efghijkl""fghijklm""ghijklmn""hijklmno" 153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "ijklmnop""jklmnopq""klmnopqr""lmnopqrs" 154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "mnopqrst""nopqrstu",112,md,NULL,EVP_sha384(),NULL); 155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if (memcmp(md,app_d2,sizeof(app_d2))) 156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { fflush(stdout); 157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stderr,"\nTEST 2 of 3 failed.\n"); 158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 1; 159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project else 161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"."); fflush(stdout); 162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_MD_CTX_init (&evp); 164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_DigestInit_ex (&evp,EVP_sha384(),NULL); 165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project for (i=0;i<1000000;i+=64) 166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_DigestUpdate (&evp, "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa" 167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project "aaaaaaaa""aaaaaaaa""aaaaaaaa""aaaaaaaa", 168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project (1000000-i)<64?1000000-i:64); 169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_DigestFinal_ex (&evp,md,NULL); 170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project EVP_MD_CTX_cleanup (&evp); 171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project if (memcmp(md,app_d3,sizeof(app_d3))) 173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { fflush(stdout); 174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stderr,"\nTEST 3 of 3 failed.\n"); 175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 1; 176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project else 178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout,"."); fflush(stdout); 179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fprintf(stdout," passed.\n"); fflush(stdout); 181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return 0; 183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project} 184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 185