mirror of
https://github.com/cc65/cc65.git
synced 2024-08-19 17:29:37 +00:00
31 lines
1.2 KiB
C
31 lines
1.2 KiB
C
// temporarily disable optimizations altogether until a fine grain control
|
|
// is implemented on Makefile level only disabling the compiler option -Os
|
|
#pragma optimize (off)
|
|
|
|
#include <string.h>
|
|
#include "unittest.h"
|
|
|
|
#define EstimatedStringSize 384 // test correct page passing (>256)
|
|
|
|
static char EstimatedString[EstimatedStringSize+1]; // +1 room for terminating null
|
|
static char* EmptyTestChars=""; // strlen equivalent...
|
|
static char* TestChars="1234567890"; // we like to find numbers
|
|
|
|
TEST
|
|
{
|
|
unsigned i;
|
|
|
|
for (i=0; i < EstimatedStringSize; ++i)
|
|
EstimatedString[i] = (i%26)+'A'; // put ABCD... into the string to be estimated
|
|
|
|
ASSERT_AreEqual(strlen(EstimatedString), strcspn(EstimatedString, TestChars), "%u", "Unxpected position returned for non-participant case!");
|
|
|
|
EstimatedString[EstimatedStringSize/2] = TestChars[strlen(TestChars-1)];
|
|
ASSERT_AreEqual(EstimatedStringSize/2, strcspn(EstimatedString, TestChars), "%u", "Unxpected position returned for participant case!");
|
|
|
|
ASSERT_AreEqual(strlen(EstimatedString), strcspn(EstimatedString, EmptyTestChars), "%u", "Unxpected position returned for empty test case!");
|
|
}
|
|
ENDTEST
|
|
|
|
|