%description: Static array out of bounds test for messages %file: test.msg namespace @TESTNAME@; message MyMessage { int aa[3]; }; %includes: #include "test_m.h" %activity: #define TRYPRINT(X) try { \ EV << #X << ":"; EV << X << endl; \ } catch (std::exception& e) { \ EV << "OOPS!" << endl; \ } #define TRY(X) try { \ EV << #X << ":"; X; EV << "OK" << endl; \ } catch (std::exception& e) { \ EV << "OOPS!" << endl; \ } MyMessage x; TRYPRINT(x.getAaArraySize()); TRYPRINT(x.getAa(-1)); TRYPRINT(x.getAa(0)); TRYPRINT(x.getAa(1)); TRYPRINT(x.getAa(2)); TRYPRINT(x.getAa(3)); TRYPRINT(x.getAa(4)); TRY(x.setAa(-1,23)); TRY(x.setAa(0,12)); TRY(x.setAa(1,55)); TRY(x.setAa(2,83)); TRY(x.setAa(3,87)); TRY(x.setAa(4,26)); %contains: stdout x.getAa(-1):OOPS! x.getAa(0):0 x.getAa(1):0 x.getAa(2):0 x.getAa(3):OOPS! x.getAa(4):OOPS! x.setAa(-1,23):OOPS! x.setAa(0,12):OK x.setAa(1,55):OK x.setAa(2,83):OK x.setAa(3,87):OOPS! x.setAa(4,26):OOPS!