[ofw] Opensm 3.3.11 (Debug) + 'osmtest -f m -M1' ASSERT() fires?

Smith, Stan stan.smith at intel.com
Thu Sep 29 10:17:05 PDT 2011


Hello again,
  I forgot about another issue that was side-stepped via '#if 0' in order to make forward progress in the porting of OpenSM 3.3.11 to Windows.

 opensm/osm_helper.c

int ib_path_compare_rates(IN const int rate1, IN const int rate2)
{
	int orate1 = 0, orate2 = 0;

	CL_ASSERT(rate1 >= IB_MIN_RATE && rate1 <= IB_MAX_RATE);
	CL_ASSERT(rate2 >= IB_MIN_RATE && rate2 <= IB_MAX_RATE);

When running a DEBUG version of opensm with 'osmtest -f m -M1', part of the test is to set invalid rates (rate1, rate2 == 1).
When the rate1 or rate2 == 1 the CL_ASSERT() fires as IB_MIN_RATE == 2.
I think the fix is to explicitly allow rate1 or rate2 == 1 for osmtest?

	/* rate1 | rate2 == 1 comes from 'osmtest -f m -M1' (expected invalid rate) */
	CL_ASSERT((rate1 >= IB_MIN_RATE || rate1 == 1) && rate1 <= IB_MAX_RATE);
	CL_ASSERT((rate2 >= IB_MIN_RATE || rate2 == 1) && rate2 <= IB_MAX_RATE);

Thoughts?

Thanks,

Stan.





More information about the ofw mailing list