Beispiel #1
0
static VOID LogAndInconclusiveAtPassiveLevel()
{
	CFIX_LOG( L"Log at %s", L"PASSIVE_LEVEL" );
	CFIX_LOG( L"Log at %s", L"PASSIVE_LEVEL" );
	CFIX_INCONCLUSIVE( L"This blah blah blah blah blah blah blah is inconclusive" );
	ASSERT( !"Should not make it here!" );
}
Beispiel #2
0
static void __stdcall gsplittest()
{
	CString m;
	m.Format(_T("%s,%i,%i,,%f,%i,,%f,%f,%i,%i,,,%i"),"TST",10,100,0,0,0,0,0,0,0);

	vector<CString> r;
	gsplit(m,CString(","),r);
	CFIX_ASSERT(r.size()==14);

	// performance test
	const int MAXGSPLITS = 1000;
	vector<CString> strs;
	// start timer
	unsigned long start = GetTickCount();
	// split strings
	for (int i = 0; i<MAXGSPLITS; i++)
	{
		m.Format(_T("%s,%i,%i,,%f,%i,,%f,%f,%i,%i,,,%i"),"TST",rand(),100,0,0,0,0,0,0,0);
		vector<CString> r2;
		gsplit(m,CString(","),r2);
	}
	// stop timer
	unsigned long stop = GetTickCount();
	// elapsed
	int elapms = stop - start;
	int rate = elapms== 0 ? 0 : (MAXGSPLITS/elapms)*1000;
	CFIX_LOG(L"Gsplit elapsed time(ms): %i",elapms);
	CFIX_LOG(L"Gsplits perf (splits/sec: %i",rate);
	CFIX_ASSERT(elapms<50);
}
Beispiel #3
0
static VOID LogAndFailAtPassiveLevelAndAbort()
{
	CFIX_ASSERT( "Truth" );
	CFIX_LOG( L"" );
	CFIX_LOG( L"" );
	CFIX_ASSERT( !"Untruth" );
	ASSERT( !"Should not make it here!" );
}
Beispiel #4
0
static VOID LogThreeMessagesAtPassiveLevel()
{
	CFIX_ASSERT( "Truth" );

	CFIX_LOG( L"Log at %s", L"PASSIVE_LEVEL" );
	CFIX_LOG( L"Log at %s", L"PASSIVE_LEVEL" );
	CFIX_LOG( L"Log at %s", L"PASSIVE_LEVEL" );
}
Beispiel #5
0
void FailingTestAtElevatedIrql()
{
	KIRQL OldIrql;
	KeRaiseIrql( DISPATCH_LEVEL, &OldIrql );
	CFIX_LOG( L"Test" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
	KeLowerIrql( OldIrql );
}
Beispiel #6
0
static VOID ThrowAtPassiveLevel()
{
	CFIX_ASSERT_EQUALS_ULONG( 1, 1 );
	CFIX_LOG( L"" );
	CFIX_LOG( L"" );

	//
	// N.B. ExRaiseStatus requires PASSIVE_LEVEL.
	//
	ExRaiseStatus( 'Excp' );
}
Beispiel #7
0
static VOID LogThreeMessagesAtDirql()
{
	KIRQL Irql;
	KeRaiseIrql( DISPATCH_LEVEL + 1, &Irql );
	
	CFIX_ASSERT( "Truth" );

	CFIX_LOG( L"Log at %s", L"elevated irql" );
	CFIX_LOG( L"Log at %s", L"elevated irql" );
	CFIX_LOG( L"Log at %s", L"elevated irql" );

	KeLowerIrql( Irql );
}
Beispiel #8
0
static VOID LogAndFailAtDirqlAndAbort()
{
	KIRQL Irql;
	KeRaiseIrql( DISPATCH_LEVEL + 1, &Irql );
	CFIX_ASSERT( "Truth" );
	CFIX_LOG( L"" );
	CFIX_ASSERT_EQUALS_ULONG( 1, 2 );
	ASSERT( !"Should not make it here!" );
}
Beispiel #9
0
/*++
	Routine Description:
		Test routine -- do the actual testing.
--*/
static void __stdcall Test1()
{
	DWORD a = 1;
	DWORD b = 1;
	CFIX_ASSERT_EQUALS_DWORD( a, b );
	CFIX_ASSERT( a + b == 2 );

	//
	// Log a message -- printf-style formatting may be used.
	//
	CFIX_LOG( L"a=%d, b=%d", a, b );
}
  void TransformOK()
  {
	HTTPS::Rules rules;
	HRESULT hr = rules.Add("default.rulesets");

	char* url = "http://www.1and1.com/index.html";
	char* newURL = rules.Transform(url);
	CFIX_ASSERT( newURL != NULL );

	CFIX_LOG("New URL: %s", newURL);

	CFIX_ASSERT( strcmp("https://order.1and1.com/index.html", newURL) == 0 );

	delete newURL;
  }
Beispiel #11
0
static VOID LogAndInconclusiveAtDirql()
{
	KIRQL Irql;
	KeRaiseIrql( DISPATCH_LEVEL + 1, &Irql );
	
	CFIX_ASSERT( "Truth" );

	CFIX_LOG( L"Log at %s", L"PASSIVE_LEVEL" );

	//
	// Note: message is of same length as IRQL-warning. Important
	// as both compete for the same buffer space.
	//
	CFIX_INCONCLUSIVE( L"Inconclusive   "
		L"01234567890123456789012345678901234567890123456789"
		L"01234567890123456789012345678901234567890123456789" );
	ASSERT( !"Should not make it here!" );
}
Beispiel #12
0
    /**-------------------------------------------------------------------------------
    	TestOne

    	@brief
    	@return void
    ---------------------------------------------------------------------------------*/
    void TestOne()
    {
        const wchar_t* testString = L"test model";
        CFIX_LOG(L"Testing %s", testString);

        // samples
        CFIXCC_ASSERT_EQUALS(1, 1);
        CFIXCC_ASSERT_EQUALS(L"test model", testString);
        CFIXCC_ASSERT_EQUALS(wcslen(testString), (size_t) 10);
        CFIX_ASSERT(wcslen(testString) == 10);
        CFIX_ASSERT_MESSAGE(testString[0] == 't', "Test string should start with a 't'");


        double expected[]= {0,1.000000000000000,0.500000000000000,0.750000000000000,0.625000000000000,0.687500000000000,0.656250000000000,0.671875000000000,0.664062500000000,0.667968750000000,0.666015625000000,0.666992187500000,0.666503906250000,0.666748046875000,0.666625976562500,0.666687011718750,0.666656494140625};

        for (int i=0; i<17; ++i) {
            double out=getSystemOutput(1);
            CFIXCC_ASSERT_EQUALS(expected[i], out);
        }

    }
Beispiel #13
0
HRESULT DetachContextSafe( 
	__in JPFSV_HANDLE ContextHandle
	)
{
	HRESULT Hr = E_UNEXPECTED;
	UINT Attempt;
	
	for ( Attempt = 0; Attempt < 10; Attempt++ )
	{
		Hr = JpfsvDetachContext( ContextHandle, TRUE );
		if ( JPFSV_E_TRACES_ACTIVE == Hr )
		{
			CFIX_LOG( L"Traces still active (Attempt %d)\n", Attempt );
			Sleep( 500 );
		}
		else
		{
			break;
		}
	}
	
	return Hr;
}
Beispiel #14
0
static void FailingSetup()
{
	CFIX_LOG( L"In setup" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
}
Beispiel #15
0
void TestInitShutdownTracing()
{
	BOOL KernelSupported;
	JPKFBT_SESSION Session;
	JPKFBT_KERNEL_TYPE Type;
	ULONG KernelsTested = 0;
	ULONG TrcTypesTested;

	for ( Type = JpkfbtKernelRetail;
		  Type <= JpkfbtKernelMax;
		  Type++ )
	{
		JPKFBT_TRACING_TYPE TracingType;

		TEST_SUCCESS( JpkfbtIsKernelTypeSupported( 
			Type, &KernelSupported ) );
		if ( ! KernelSupported )
		{
			continue;
		}

		TEST_SUCCESS( JpkfbtAttach( Type, &Session ) );
		TEST( Session );
		
		//
		// Invalid type.
		//
		TEST_STATUS( STATUS_INVALID_PARAMETER,
			JpkfbtInitializeTracing(
				Session,
				JpkfbtTracingTypeMax + 1,
				0,
				0,
				NULL ) );

		//
		// Shutdown without being started.
		//
		TEST_STATUS( STATUS_FBT_NOT_INITIALIZED, 
			JpkfbtShutdownTracing( Session ) );

		//
		// Init & Shutdown using valid type.
		//
		TrcTypesTested = 0;
		for( TracingType = JpkfbtTracingTypeDefault;
			 TracingType <= JpkfbtTracingTypeMax;
			 TracingType++ )
		{
			NTSTATUS Status;

			ULONG BufCount;
			ULONG BufSize;
			PWSTR LogFile;
			
			if ( TracingType == JpkfbtTracingTypeDefault )
			{
				BufCount = 64;
				BufSize = 64;
				LogFile = L"__testkfbt.log";

				DeleteFile( LogFile );
			}
			else
			{
				BufCount = 0;
				BufSize = 0;
				LogFile = NULL;
			}
	
			TEST_STATUS( STATUS_INVALID_PARAMETER, JpkfbtInitializeTracing(
				Session,
				TracingType,
				BufCount,
				BufSize,
				TracingType == JpkfbtTracingTypeDefault
					? NULL
					: L"foo" ) );
			
			Status = JpkfbtInitializeTracing(
				Session,
				TracingType,
				BufCount,
				BufSize,
				LogFile );
			CFIX_LOG( L"Status=%x", Status );
			TEST( NT_SUCCESS( Status ) ||
				  STATUS_KFBT_TRCTYPE_NOT_SUPPORTED == Status );

			if ( NT_SUCCESS( Status ) )
			{
				TrcTypesTested++;
				TEST_SUCCESS( JpkfbtShutdownTracing( Session ) );
			}
		}
		TEST( TrcTypesTested > 0 );

		TEST_SUCCESS( JpkfbtDetach( Session, TRUE ) );

		KernelsTested++;
	}

	TEST( KernelsTested  > 0 );
}
Beispiel #16
0
static void FailingTeardown()
{
	CFIX_LOG( L"In teardown" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
}
Beispiel #17
0
/*++
	Routine Description:
		Teardown Routine -- will be called at the end of the
		testrun. 
--*/
static void __stdcall FixtureTeardown()
{
	CFIX_LOG( L"Tearing down..." );
}
Beispiel #18
0
static void InconcTeardown()
{
	CFIX_LOG( L"In teardown" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
}
Beispiel #19
0
static void InconcTest()
{
	CFIX_LOG( L"Test" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
}
Beispiel #20
0
static void SucTest()
{
	CFIX_LOG( L"Test" );
}
Beispiel #21
0
static void Nulls()
{
	CFIX_ASSERT_MESSAGE( TRUE, NULL );
	CFIX_LOG( NULL );
	//CFIX_INCONCLUSIVE( NULL );
}
Beispiel #22
0
void SucSetup()
{
	CFIX_LOG( L"In setup" );
}
Beispiel #23
0
static void InconcSetup()
{
	CFIX_LOG( L"In setup" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
}
Beispiel #24
0
void SucTeardown()
{
	CFIX_LOG( L"In teardown" );
}
Beispiel #25
0
void FailingTest()
{
	CFIX_LOG( L"Test" );
	CFIX_ASSERT( !"Fail" );
	CFIX_LOG( L"?" );
}