anchor.diff:  otp9022(doc) -> ["OTP-9022 - Counter32"];
   otp9022(Config) when is_list(Config) ->
       Val0 = 2908389204, 
  -    io:format("try encode and decode value 0: ~w (0x~.16b)~n", [Val0, Val0]),
  +    ?IPRINT("try encode and decode value 0: ~w (0x~.16b)", [Val0, Val0]),
       Enc0 = snmp_pdus:enc_value('Counter32', Val0), 
  -    io:format("  => ~w~n", [Enc0]),
  +    ?IPRINT("  => ~w", [Enc0]),
       {{'Counter32', Val0}, []} = snmp_pdus:dec_value(Enc0), 
   
       Val1 = 0, 
  -    io:format("try encode and decode value 1: ~w (0x~.16b)~n", [Val1, Val1]),
  +    ?IPRINT("try encode and decode value 1: ~w (0x~.16b)", [Val1, Val1]),
       Enc1 = snmp_pdus:enc_value('Counter32', Val1), 
  -    io:format("  => ~w~n", [Enc1]),
  +    ?IPRINT("  => ~w", [Enc1]),
       {{'Counter32', Val1}, []} = snmp_pdus:dec_value(Enc1), 
   
       Val2 = Val1 + 1,
  -    io:format("try encode and decode value 2: ~w (0x~.16b)~n", [Val2, Val2]),
  +    ?IPRINT("try encode and decode value 2: ~w (0x~.16b)", [Val2, Val2]),
       Enc2 = snmp_pdus:enc_value('Counter32', Val2), 
  -    io:format("  => ~w~n", [Enc2]),
  +    ?IPRINT("  => ~w", [Enc2]),
       {{'Counter32', Val2}, []} = snmp_pdus:dec_value(Enc2), 
   
       Val3 = 16#7ffffffe,
  -    io:format("try encode and decode value 3: ~w (0x~.16b)~n", [Val3, Val3]),
  +    ?IPRINT("try encode and decode value 3: ~w (0x~.16b)", [Val3, Val3]),
       Enc3 = snmp_pdus:enc_value('Counter32', Val3), 
  -    io:format("  => ~w~n", [Enc3]),
  +    ?IPRINT("  => ~w", [Enc3]),
       {{'Counter32', Val3}, []} = snmp_pdus:dec_value(Enc3), 
   
       Val4 = Val3 + 1,
  -    io:format("try encode and decode value 4: ~w (0x~.16b)~n", [Val4, Val4]),
  +    ?IPRINT("try encode and decode value 4: ~w (0x~.16b)", [Val4, Val4]),
       Enc4 = snmp_pdus:enc_value('Counter32', Val4), 
  -    io:format("  => ~w~n", [Enc4]),
  +    ?IPRINT("  => ~w", [Enc4]),
       {{'Counter32', Val4}, []} = snmp_pdus:dec_value(Enc4), 
   
       Val5 = Val4 + 1,
  -    io:format("try encode and decode value 5: ~w (0x~.16b)~n", [Val5, Val5]),
  +    ?IPRINT("try encode and decode value 5: ~w (0x~.16b)", [Val5, Val5]),
       Enc5 = snmp_pdus:enc_value('Counter32', Val5), 
  -    io:format("  => ~w~n", [Enc5]),
  +    ?IPRINT("  => ~w", [Enc5]),
       {{'Counter32', Val5}, []} = snmp_pdus:dec_value(Enc5), 
   
       Val6 = 16#fffffffe,
  -    io:format("try encode and decode value 6: ~w (0x~.16b)~n", [Val6, Val6]),
  +    ?IPRINT("try encode and decode value 6: ~w (0x~.16b)", [Val6, Val6]),
       Enc6 = snmp_pdus:enc_value('Counter32', Val6), 
  -    io:format("  => ~w~n", [Enc6]),
  +    ?IPRINT("  => ~w", [Enc6]),
       {{'Counter32', Val6}, []} = snmp_pdus:dec_value(Enc6), 
   
       Val7 = Val6 + 1,
  -    io:format("try encode and decode value 7: ~w (0x~.16b)~n", [Val7, Val7]),
  +    ?IPRINT("try encode and decode value 7: ~w (0x~.16b)", [Val7, Val7]),
       Enc7 = snmp_pdus:enc_value('Counter32', Val7), 
  -    io:format("  => ~w~n", [Enc7]),
  +    ?IPRINT("  => ~w", [Enc7]),
       {{'Counter32', Val7}, []} = snmp_pdus:dec_value(Enc7), 
   
       Val8 = 16#ffffffff + 1, 
  -    io:format("try and fail to encode value 8: ~w (0x~.16b)~n", [Val8, Val8]),
  +    ?IPRINT("try and fail to encode value 8: ~w (0x~.16b)", [Val8, Val8]),
       case (catch snmp_pdus:enc_value('Counter32', Val8)) of
   	{'EXIT', {error, {bad_counter32, Val8}}} ->
   	    ok;
   	Unexpected8 ->
  -	    io:format("  => ~w~n", [Unexpected8]),
  +	    ?IPRINT("  => ~w", [Unexpected8]),
   	    exit({unexpected_encode_result, Unexpected8, Val8})
       end,
   
       Val9 = -1, 
  -    io:format("try and fail to encode value 9: ~w~n", [Val9]),
  +    ?IPRINT("try and fail to encode value 9: ~w", [Val9]),
       case (catch snmp_pdus:enc_value('Counter32', Val9)) of
   	{'EXIT', {error, {bad_counter32, Val9}}} ->
   	    ok;
   	Unexpected9 ->
  -	    io:format("  => ~w~n", [Unexpected9]),
  +	    ?IPRINT("  => ~w", [Unexpected9]),
   	    exit({unexpected_encode_result, Unexpected9, Val9})
       end,
   
  
positive.code: %% 
  %% %CopyrightBegin%
  %%
  %% Copyright Ericsson AB 2003-2019. All Rights Reserved.
  %%
  %% Licensed under the Apache License, Version 2.0 (the "License");
  %% you may not use this file except in compliance with the License.
  
negative.code: 	    exit({unexpected_decode_result, 2, Unexpected2})
      end,
  
      ?IPRINT("attempt to decode message with very bad version"),
      MsgWithVeryBadVersion = <<48,49,2,11,1,1,1,1,1,1,1,1,1,1,1,4,6,112,117,98,108,105,99,160,26,2,2,1,49,2,1,0,2,1,0,48,14,48,12,6,8,43,6,1,2,1,1,5,0,5,0>>,
      case (catch dec_message(MsgWithVeryBadVersion)) of
  	{'EXIT', {bad_version, {VersionSize, MaxVersionSize}}} when (VersionSize > MaxVersionSize) ->
  