Added network I/O tests.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@1026 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
ahodgkinson
2007-02-16 00:31:18 +00:00
parent 2fe3e6cae2
commit f5bce93123

View File

@@ -77,6 +77,10 @@ FSTATIC RCODE ftkTestText( void);
FSTATIC RCODE ftkTestBTree( void);
#ifdef FTK_TEST_NET
FSTATIC RCODE ftkTestNet( void);
#endif
FSTATIC FLMBOOL flmCh6Brkcar(
FLMUINT16 ui16WpChar,
FLMUINT16 * pui16BaseChar,
@@ -3310,10 +3314,10 @@ Desc: The Arabic characters are collated OVER the Russian characters
ignored while sorting the first pass - when collation == COLS0.
There are 4 possible states for all/most arabic characters:
ÚÙ - occurs as the only character in a word
ÄÙ - appears at the first of the word
ÄÄ - appears at the middle of a word
ÚÄ - appears at the end of the word
<EFBFBD><EFBFBD> - occurs as the only character in a word
<EFBFBD><EFBFBD> - appears at the first of the word
<EFBFBD><EFBFBD> - appears at the middle of a word
<EFBFBD><EFBFBD> - appears at the end of the word
Usually only the simple version of the letter is stored.
Therefore we should not have to worry about sub-collation
@@ -3337,144 +3341,144 @@ FLMBYTE flmAr160Tbl[ AR1TBLLEN + 2] =
COLS9+40, // << alphabetic - end of list)
COLS2, // (
COLS2+1, // )
COLS8+1, // ÚÙ One
COLS8+2, // ÚÙ Two
COLS8+3, // ÚÙ Three
COLS8+4, // ÚÙ Four
COLS8+5, // ÚÙ Five
COLS8+6, // ÚÙ Six
COLS8+7, // ÚÙ Seven
COLS8+8, // ÚÙ Eight
COLS8+9, // ÚÙ Nine
COLS8+0, // ÚÙ Zero
COLS8+2, // ÚÙ Two (Handwritten)
COLS10a+1, // ÚÙ alif
COLS10a+1, // ÚÄ alif
COLS10a+2, // ÚÙ ba
COLS10a+2, // ÄÙ ba
COLS10a+2, // ÄÄ ba
COLS10a+2, // ÚÄ ba
COLS10a+6, // ÚÙ ta
COLS10a+6, // ÄÙ ta
COLS10a+6, // ÄÄ ta
COLS10a+6, // ÚÄ ta
COLS10a+8, // ÚÙ tha
COLS10a+8, // ÄÙ tha
COLS10a+8, // ÄÄ tha
COLS10a+8, // ÚÄ tha
COLS10a+12, // ÚÙ jiim
COLS10a+12, // ÄÙ jiim
COLS10a+12, // ÄÄ jiim
COLS10a+12, // ÚÄ jiim
COLS10a+16, // ÚÙ Ha
COLS10a+16, // ÄÙ Ha
COLS10a+16, // ÄÄ Ha
COLS10a+16, // ÚÄ Ha
COLS10a+17, // ÚÙ kha
COLS10a+17, // ÄÙ kha
COLS10a+17, // ÄÄ kha
COLS10a+17, // ÚÄ kha
COLS10a+20, // ÚÙ dal
COLS10a+20, // ÚÄ dal
COLS10a+22, // ÚÙ dhal
COLS10a+22, // ÚÄ dhal
COLS10a+27, // ÚÙ ra
COLS10a+27, // ÚÄ ra
COLS10a+29, // ÚÙ ziin
COLS10a+29, // ÚÄ ziin
COLS10a+31, // ÚÙ siin
COLS10a+31, // ÄÙ siin
COLS10a+31, // ÄÄ siin
COLS10a+31, // ÚÄ siin
COLS10a+32, // ÚÙ shiin
COLS10a+32, // ÄÙ shiin
COLS10a+32, // ÄÄ shiin
COLS10a+32, // ÚÄ shiin
COLS10a+34, // ÚÙ Sad
COLS10a+34, // ÄÙ Sad
COLS10a+34, // ÄÄ Sad
COLS10a+34, // ÚÄ Sad
COLS10a+35, // ÚÙ Dad
COLS10a+35, // ÄÙ Dad
COLS10a+35, // ÄÄ Dad
COLS10a+35, // ÚÄ Dad
COLS10a+36, // ÚÙ Ta
COLS10a+36, // ÄÙ Ta
COLS10a+36, // ÄÄ Ta
COLS10a+36, // ÚÄ Ta
COLS10a+37, // ÚÙ Za
COLS10a+37, // ÄÙ Za
COLS10a+37, // ÄÄ Za
COLS10a+37, // ÚÄ Za
COLS10a+38, // ÚÙ 'ain
COLS10a+38, // ÄÙ 'ain
COLS10a+38, // ÄÄ 'ain
COLS10a+38, // ÚÄ 'ain
COLS10a+39, // ÚÙ ghain
COLS10a+39, // ÄÙ ghain
COLS10a+39, // ÄÄ ghain
COLS10a+39, // ÚÄ ghain
COLS10a+40, // ÚÙ fa
COLS10a+40, // ÄÙ fa
COLS10a+40, // ÄÄ fa
COLS10a+40, // ÚÄ fa
COLS10a+42, // ÚÙ Qaf
COLS10a+42, // ÄÙ Qaf
COLS10a+42, // ÄÄ Qaf
COLS10a+42, // ÚÄ Qaf
COLS10a+43, // ÚÙ kaf
COLS10a+43, // ÄÙ kaf
COLS10a+43, // ÄÄ kaf
COLS10a+43, // ÚÄ kaf
COLS10a+46, // ÚÙ lam
COLS10a+46, // ÄÙ lam
COLS10a+46, // ÄÄ lam
COLS10a+46, // ÚÄ lam
COLS10a+47, // ÚÙ miim
COLS10a+47, // ÄÙ miim
COLS10a+47, // ÄÄ miim
COLS10a+47, // ÚÄ miim
COLS10a+48, // ÚÙ nuun
COLS10a+48, // ÄÙ nuun
COLS10a+48, // ÄÄ nuun
COLS10a+48, // ÚÄ nuun
COLS10a+49, // ÚÙ ha
COLS10a+49, // ÄÙ ha
COLS10a+49, // ÄÄ ha
COLS10a+49, // ÚÄ ha
COLS10a+6, // ÚÙ ta marbuuTah
COLS10a+6, // ÚÄ ta marbuuTah
COLS10a+50, // ÚÙ waw
COLS10a+50, // ÚÄ waw
COLS10a+53, // ÚÙ ya
COLS10a+53, // ÄÙ ya
COLS10a+53, // ÄÄ ya
COLS10a+53, // ÚÄ ya
COLS10a+52, // ÚÙ alif maqSuurah
COLS10a+52, // ÄÙ ya maqSuurah?
COLS10a+52, // ÄÄ ya maqSuurah?
COLS10a+52, // ÚÄ alif maqSuurah
COLS10a+0, // ÚÙ hamzah accent - never appears alone
COLS8+1, // <EFBFBD><EFBFBD> One
COLS8+2, // <EFBFBD><EFBFBD> Two
COLS8+3, // <EFBFBD><EFBFBD> Three
COLS8+4, // <EFBFBD><EFBFBD> Four
COLS8+5, // <EFBFBD><EFBFBD> Five
COLS8+6, // <EFBFBD><EFBFBD> Six
COLS8+7, // <EFBFBD><EFBFBD> Seven
COLS8+8, // <EFBFBD><EFBFBD> Eight
COLS8+9, // <EFBFBD><EFBFBD> Nine
COLS8+0, // <EFBFBD><EFBFBD> Zero
COLS8+2, // <EFBFBD><EFBFBD> Two (Handwritten)
COLS10a+1, // <EFBFBD><EFBFBD> alif
COLS10a+1, // <EFBFBD><EFBFBD> alif
COLS10a+2, // <EFBFBD><EFBFBD> ba
COLS10a+2, // <EFBFBD><EFBFBD> ba
COLS10a+2, // <EFBFBD><EFBFBD> ba
COLS10a+2, // <EFBFBD><EFBFBD> ba
COLS10a+6, // <EFBFBD><EFBFBD> ta
COLS10a+6, // <EFBFBD><EFBFBD> ta
COLS10a+6, // <EFBFBD><EFBFBD> ta
COLS10a+6, // <EFBFBD><EFBFBD> ta
COLS10a+8, // <EFBFBD><EFBFBD> tha
COLS10a+8, // <EFBFBD><EFBFBD> tha
COLS10a+8, // <EFBFBD><EFBFBD> tha
COLS10a+8, // <EFBFBD><EFBFBD> tha
COLS10a+12, // <EFBFBD><EFBFBD> jiim
COLS10a+12, // <EFBFBD><EFBFBD> jiim
COLS10a+12, // <EFBFBD><EFBFBD> jiim
COLS10a+12, // <EFBFBD><EFBFBD> jiim
COLS10a+16, // <EFBFBD><EFBFBD> Ha
COLS10a+16, // <EFBFBD><EFBFBD> Ha
COLS10a+16, // <EFBFBD><EFBFBD> Ha
COLS10a+16, // <EFBFBD><EFBFBD> Ha
COLS10a+17, // <EFBFBD><EFBFBD> kha
COLS10a+17, // <EFBFBD><EFBFBD> kha
COLS10a+17, // <EFBFBD><EFBFBD> kha
COLS10a+17, // <EFBFBD><EFBFBD> kha
COLS10a+20, // <EFBFBD><EFBFBD> dal
COLS10a+20, // <EFBFBD><EFBFBD> dal
COLS10a+22, // <EFBFBD><EFBFBD> dhal
COLS10a+22, // <EFBFBD><EFBFBD> dhal
COLS10a+27, // <EFBFBD><EFBFBD> ra
COLS10a+27, // <EFBFBD><EFBFBD> ra
COLS10a+29, // <EFBFBD><EFBFBD> ziin
COLS10a+29, // <EFBFBD><EFBFBD> ziin
COLS10a+31, // <EFBFBD><EFBFBD> siin
COLS10a+31, // <EFBFBD><EFBFBD> siin
COLS10a+31, // <EFBFBD><EFBFBD> siin
COLS10a+31, // <EFBFBD><EFBFBD> siin
COLS10a+32, // <EFBFBD><EFBFBD> shiin
COLS10a+32, // <EFBFBD><EFBFBD> shiin
COLS10a+32, // <EFBFBD><EFBFBD> shiin
COLS10a+32, // <EFBFBD><EFBFBD> shiin
COLS10a+34, // <EFBFBD><EFBFBD> Sad
COLS10a+34, // <EFBFBD><EFBFBD> Sad
COLS10a+34, // <EFBFBD><EFBFBD> Sad
COLS10a+34, // <EFBFBD><EFBFBD> Sad
COLS10a+35, // <EFBFBD><EFBFBD> Dad
COLS10a+35, // <EFBFBD><EFBFBD> Dad
COLS10a+35, // <EFBFBD><EFBFBD> Dad
COLS10a+35, // <EFBFBD><EFBFBD> Dad
COLS10a+36, // <EFBFBD><EFBFBD> Ta
COLS10a+36, // <EFBFBD><EFBFBD> Ta
COLS10a+36, // <EFBFBD><EFBFBD> Ta
COLS10a+36, // <EFBFBD><EFBFBD> Ta
COLS10a+37, // <EFBFBD><EFBFBD> Za
COLS10a+37, // <EFBFBD><EFBFBD> Za
COLS10a+37, // <EFBFBD><EFBFBD> Za
COLS10a+37, // <EFBFBD><EFBFBD> Za
COLS10a+38, // <EFBFBD><EFBFBD> 'ain
COLS10a+38, // <EFBFBD><EFBFBD> 'ain
COLS10a+38, // <EFBFBD><EFBFBD> 'ain
COLS10a+38, // <EFBFBD><EFBFBD> 'ain
COLS10a+39, // <EFBFBD><EFBFBD> ghain
COLS10a+39, // <EFBFBD><EFBFBD> ghain
COLS10a+39, // <EFBFBD><EFBFBD> ghain
COLS10a+39, // <EFBFBD><EFBFBD> ghain
COLS10a+40, // <EFBFBD><EFBFBD> fa
COLS10a+40, // <EFBFBD><EFBFBD> fa
COLS10a+40, // <EFBFBD><EFBFBD> fa
COLS10a+40, // <EFBFBD><EFBFBD> fa
COLS10a+42, // <EFBFBD><EFBFBD> Qaf
COLS10a+42, // <EFBFBD><EFBFBD> Qaf
COLS10a+42, // <EFBFBD><EFBFBD> Qaf
COLS10a+42, // <EFBFBD><EFBFBD> Qaf
COLS10a+43, // <EFBFBD><EFBFBD> kaf
COLS10a+43, // <EFBFBD><EFBFBD> kaf
COLS10a+43, // <EFBFBD><EFBFBD> kaf
COLS10a+43, // <EFBFBD><EFBFBD> kaf
COLS10a+46, // <EFBFBD><EFBFBD> lam
COLS10a+46, // <EFBFBD><EFBFBD> lam
COLS10a+46, // <EFBFBD><EFBFBD> lam
COLS10a+46, // <EFBFBD><EFBFBD> lam
COLS10a+47, // <EFBFBD><EFBFBD> miim
COLS10a+47, // <EFBFBD><EFBFBD> miim
COLS10a+47, // <EFBFBD><EFBFBD> miim
COLS10a+47, // <EFBFBD><EFBFBD> miim
COLS10a+48, // <EFBFBD><EFBFBD> nuun
COLS10a+48, // <EFBFBD><EFBFBD> nuun
COLS10a+48, // <EFBFBD><EFBFBD> nuun
COLS10a+48, // <EFBFBD><EFBFBD> nuun
COLS10a+49, // <EFBFBD><EFBFBD> ha
COLS10a+49, // <EFBFBD><EFBFBD> ha
COLS10a+49, // <EFBFBD><EFBFBD> ha
COLS10a+49, // <EFBFBD><EFBFBD> ha
COLS10a+6, // <EFBFBD><EFBFBD> ta marbuuTah
COLS10a+6, // <EFBFBD><EFBFBD> ta marbuuTah
COLS10a+50, // <EFBFBD><EFBFBD> waw
COLS10a+50, // <EFBFBD><EFBFBD> waw
COLS10a+53, // <EFBFBD><EFBFBD> ya
COLS10a+53, // <EFBFBD><EFBFBD> ya
COLS10a+53, // <EFBFBD><EFBFBD> ya
COLS10a+53, // <EFBFBD><EFBFBD> ya
COLS10a+52, // <EFBFBD><EFBFBD> alif maqSuurah
COLS10a+52, // <EFBFBD><EFBFBD> ya maqSuurah?
COLS10a+52, // <EFBFBD><EFBFBD> ya maqSuurah?
COLS10a+52, // <EFBFBD><EFBFBD> alif maqSuurah
COLS10a+0, // <EFBFBD><EFBFBD> hamzah accent - never appears alone
// Store the sub-collation as the actual
// character value from this point on
COLS10a+1, // ÚÙ alif hamzah
COLS10a+1, // ÚÄ alif hamzah
COLS10a+1, // ÚÙ hamzah-under-alif
COLS10a+1, // ÚÄ hamzah-under-alif
COLS10a+1, // ÚÙ waw hamzah
COLS10a+1, // ÚÄ waw hamzah
COLS10a+1, // ÚÙ ya hamzah
COLS10a+1, // ÄÙ ya hamzah
COLS10a+1, // ÄÄ ya hamzah
COLS10a+1, // ÚÄ ya hamzah
COLS10a+1, // ÚÙ alif fatHataan
COLS10a+1, // ÚÄ alif fatHataan
COLS10a+1, // ÚÙ alif maddah
COLS10a+1, // ÚÄ alif maddah
COLS10a+1, // ÚÙ alif waSlah
COLS10a+1, // ÚÄ alif waSlah (final)
COLS10a+1, // <EFBFBD><EFBFBD> alif hamzah
COLS10a+1, // <EFBFBD><EFBFBD> alif hamzah
COLS10a+1, // <EFBFBD><EFBFBD> hamzah-under-alif
COLS10a+1, // <EFBFBD><EFBFBD> hamzah-under-alif
COLS10a+1, // <EFBFBD><EFBFBD> waw hamzah
COLS10a+1, // <EFBFBD><EFBFBD> waw hamzah
COLS10a+1, // <EFBFBD><EFBFBD> ya hamzah
COLS10a+1, // <EFBFBD><EFBFBD> ya hamzah
COLS10a+1, // <EFBFBD><EFBFBD> ya hamzah
COLS10a+1, // <EFBFBD><EFBFBD> ya hamzah
COLS10a+1, // <EFBFBD><EFBFBD> alif fatHataan
COLS10a+1, // <EFBFBD><EFBFBD> alif fatHataan
COLS10a+1, // <EFBFBD><EFBFBD> alif maddah
COLS10a+1, // <EFBFBD><EFBFBD> alif maddah
COLS10a+1, // <EFBFBD><EFBFBD> alif waSlah
COLS10a+1, // <EFBFBD><EFBFBD> alif waSlah (final)
// LIGATURES
// Should NEVER be stored so will not worry
@@ -3486,21 +3490,21 @@ FLMBYTE flmAr160Tbl[ AR1TBLLEN + 2] =
// The best implementation is to
// break up ligatures into its base pieces.
COLS10a+46, // ÚÙ lamalif
COLS10a+46, // ÚÄ lamalif
COLS10a+46, // ÚÙ lamalif hamzah
COLS10a+46, // ÚÄ lamalif hamzah
COLS10a+46, // ÚÙ hamzah-under-lamalif
COLS10a+46, // ÚÄ hamzah-under-lamalif
COLS10a+46, // ÚÙ lamalif fatHataan
COLS10a+46, // ÚÄ lamalif fatHataan
COLS10a+46, // ÚÙ lamalif maddah
COLS10a+46, // ÚÄ lamalif maddah
COLS10a+46, // ÚÙ lamalif waSlah
COLS10a+46, // ÚÄ lamalif waSlah
COLS10a+46, // ÚÙ Allah - khaDalAlif
COLS0_ARABIC, // ÄÄ taTwiil
COLS0_ARABIC // ÄÄ taTwiil
COLS10a+46, // <EFBFBD><EFBFBD> lamalif
COLS10a+46, // <EFBFBD><EFBFBD> lamalif
COLS10a+46, // <EFBFBD><EFBFBD> lamalif hamzah
COLS10a+46, // <EFBFBD><EFBFBD> lamalif hamzah
COLS10a+46, // <EFBFBD><EFBFBD> hamzah-under-lamalif
COLS10a+46, // <EFBFBD><EFBFBD> hamzah-under-lamalif
COLS10a+46, // <EFBFBD><EFBFBD> lamalif fatHataan
COLS10a+46, // <EFBFBD><EFBFBD> lamalif fatHataan
COLS10a+46, // <EFBFBD><EFBFBD> lamalif maddah
COLS10a+46, // <EFBFBD><EFBFBD> lamalif maddah
COLS10a+46, // <EFBFBD><EFBFBD> lamalif waSlah
COLS10a+46, // <EFBFBD><EFBFBD> lamalif waSlah
COLS10a+46, // <EFBFBD><EFBFBD> Allah - khaDalAlif
COLS0_ARABIC, // <EFBFBD><EFBFBD> taTwiil
COLS0_ARABIC // <EFBFBD><EFBFBD> taTwiil
};
/****************************************************************************
Desc:
@@ -3676,7 +3680,7 @@ FLMBYTE flmAr260Tbl[ AR2TBLLEN + 2] =
COLS10a+51,
COLS10a+51,
COLS10a+51,
COLS10a+52, // Kurdish ˆ - ya /w small v (6ce)
COLS10a+52, // Kurdish <EFBFBD> - ya /w small v (6ce)
COLS10a+52,
COLS10a+52,
COLS10a+52,
@@ -3778,7 +3782,7 @@ FLMUINT16 flmIndexj[] =
0x006c, // l
0x0101, // center dot alone
0x006c, // l
0x0117, // á (for German)
0x0117, // <EFBFBD> (for German)
0x018b, // ij digraph
0x0000, // was 'a' - will no longer map 'aa' to a-ring
0x0000, // was 'a'
@@ -4320,13 +4324,22 @@ int main( void)
pDirHdl->Release();
pDirHdl = NULL;
#ifdef FTK_TEST_NET
// Networking tests
if( RC_BAD( rc = ftkTestNet()))
{
goto Exit;
}
#endif
// B-Tree tests
if( RC_BAD( rc = ftkTestBTree()))
{
goto Exit;
}
// Run a multi-threaded test to verify the proper operation of
// the atomic operations
@@ -6279,3 +6292,81 @@ Exit:
return( rc);
}
/****************************************************************************
Desc:
****************************************************************************/
#ifdef FTK_TEST_NET
RCODE ftkTestNet( void)
{
RCODE rc = NE_FLM_OK;
IF_IOStream * pStream = NULL;
IF_HTTPHeader * pHttpHeader = NULL;
f_printf( "Running network tests ... ");
if( RC_BAD( rc = FlmOpenSSLIOStream(
"www.amazon.com", 443, 0, &pStream)))
{
if( rc != NE_FLM_NOT_IMPLEMENTED)
{
goto Exit;
}
if( RC_BAD( rc = FlmOpenTCPIOStream(
"www.novell.com", 80, 0, &pStream)))
{
goto Exit;
}
}
if( RC_BAD( rc = FlmAllocHTTPHeader( &pHttpHeader)))
{
goto Exit;
}
if( RC_BAD( rc = pHttpHeader->setRequestURL( "/")))
{
goto Exit;
}
if( RC_BAD( rc = pHttpHeader->setHeaderValue(
FLM_HTTP_USER_AGENT, "FTKTEST")))
{
goto Exit;
}
if( RC_BAD( rc = pHttpHeader->setHeaderValue(
FLM_HTTP_CONTENT_LENGTH, (FLMUINT)0)))
{
goto Exit;
}
if( RC_BAD( rc = pHttpHeader->writeRequestHeader( pStream)))
{
goto Exit;
}
if( RC_BAD( rc = pHttpHeader->readResponseHeader( pStream)))
{
goto Exit;
}
Exit:
f_printf( "Done (0x%08X).\n", (unsigned)rc);
if( pStream)
{
pStream->Release();
}
if( pHttpHeader)
{
pHttpHeader->Release();
}
return( rc);
}
#endif