integer conversion tests passing (but incomplete)
diff --git a/test/qcbor_decode_tests.c b/test/qcbor_decode_tests.c
index 17bf79d..d0589cb 100644
--- a/test/qcbor_decode_tests.c
+++ b/test/qcbor_decode_tests.c
@@ -4000,7 +4000,7 @@
    QCBORError  uErrorDouble;
 };
 
-static struct NumberConversion NumberConversions[] = {
+static const struct NumberConversion NumberConversions[] = {
    {
       "Big float 3 * 2^^2",
       {(uint8_t[]){0xC5, 0x82, 0x02, 0x03}, 4},
@@ -4107,71 +4107,71 @@
 
 
 
-
 int32_t IntegerConvertTest2()
 {
    const size_t nNumTests = sizeof(NumberConversions)/sizeof(struct NumberConversion);
 
-   for(struct NumberConversion *pF = NumberConversions; pF < NumberConversions + nNumTests; pF++) {
+   for(const struct NumberConversion *pF = NumberConversions; pF < NumberConversions + nNumTests; pF++) {
+      const size_t nIndex = (size_t)(pF - NumberConversions)/sizeof(struct NumberConversion);
+
       // Set up the decoding context including a memory pool so that
       // indefinite length items can be checked
       QCBORDecodeContext DCtx;
-      QCBORDecode_Init(&DCtx, pF->CBOR, QCBOR_DECODE_MODE_NORMAL);
       UsefulBuf_MAKE_STACK_UB(Pool, 100);
+
+      /* ----- test conversion to int64_t ------ */
+      QCBORDecode_Init(&DCtx, pF->CBOR, QCBOR_DECODE_MODE_NORMAL);
       QCBORError nCBORError = QCBORDecode_SetMemPool(&DCtx, Pool, 0);
       if(nCBORError) {
-         return -9;
+         return (int32_t)(1000+nIndex);
       }
 
       int64_t nInt;
-      DCtx.uLastError = 0;
       QCBORDecode_GetInt64ConvertAll(&DCtx, 0xffff, &nInt);
       if(QCBORDecode_GetError(&DCtx) != pF->uErrorInt64) {
-         return -99;
+         return (int32_t)(2000+nIndex);
       }
       if(pF->uErrorInt64 == QCBOR_SUCCESS && pF->nConvertedToInt64 != nInt) {
-         return -888;
+         return (int32_t)(3000+nIndex);
       }
 
-      
+      /* ----- test conversion to uint64_t ------ */
       QCBORDecode_Init(&DCtx, pF->CBOR, QCBOR_DECODE_MODE_NORMAL);
       nCBORError = QCBORDecode_SetMemPool(&DCtx, Pool, 0);
       if(nCBORError) {
-         return -9;
+         return (int32_t)(1000+nIndex);
       }
       uint64_t uInt;
-      DCtx.uLastError = 0;
       QCBORDecode_GetUInt64ConvertAll(&DCtx, 0xffff, &uInt);
       if(QCBORDecode_GetError(&DCtx) != pF->uErrorUint64) {
-         return -99;
+         return (int32_t)(4000+nIndex);
       }
       if(pF->uErrorUint64 == QCBOR_SUCCESS && pF->uConvertToUInt64 != uInt) {
-         return -888;
+         return (int32_t)(5000+nIndex);
       }
 
-
+      /* ----- test conversion to double ------ */
       QCBORDecode_Init(&DCtx, pF->CBOR, QCBOR_DECODE_MODE_NORMAL);
       nCBORError = QCBORDecode_SetMemPool(&DCtx, Pool, 0);
       if(nCBORError) {
-         return -9;
+         return (int32_t)(1000+nIndex);
       }
       double d;
-      DCtx.uLastError = 0;
       QCBORDecode_GetDoubleConvertAll(&DCtx, 0xffff, &d);
       if(QCBORDecode_GetError(&DCtx) != pF->uErrorDouble) {
-         return -99;
+         return (int32_t)(6000+nIndex);
       }
       if(pF->uErrorDouble == QCBOR_SUCCESS) {
          if(isnan(pF->dConvertToDouble)) {
             // NaN's can't be compared for equality. A NaN is
             // never equal to anything including another NaN
             if(!isnan(d)) {
-               return -4;
+               return (int32_t)(7000+nIndex);
             }
          } else {
             // TODO: this comparison may need a margin of error
             if(pF->dConvertToDouble != d) {
-               return -5;
+               return (int32_t)(8000+nIndex);
             }
          }
       }
@@ -4182,7 +4182,10 @@
 
 int32_t IntegerConvertTest()
 {
-   (void)IntegerConvertTest2();
+   int32_t nReturn = IntegerConvertTest2();
+   if(nReturn) {
+      return nReturn;
+   }
 
    QCBORDecodeContext DCtx;
    QCBORError nCBORError;
@@ -4291,7 +4294,7 @@
 
    // 4([9223372036854775807, -4759477275222530853137]),
    QCBORDecode_GetUInt64ConvertAll(&DCtx, QCBOR_CONVERT_TYPE_DECIMAL_FRACTION, &uinteger);
-   if(QCBORDecode_GetError(&DCtx) != QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW) {
+   if(QCBORDecode_GetError(&DCtx) != QCBOR_ERR_NUMBER_SIGN_CONVERSION) {
       return -2;
    }
    DCtx.uLastError = 0; // TODO: a method for this
@@ -4312,14 +4315,14 @@
    
    // 5([-9223372036854775807, -4759477275222530853137])
    QCBORDecode_GetUInt64ConvertAll(&DCtx, QCBOR_CONVERT_TYPE_DECIMAL_FRACTION|QCBOR_CONVERT_TYPE_BIGFLOAT, &uinteger);
-   if(QCBORDecode_GetError(&DCtx) != QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW) {
+   if(QCBORDecode_GetError(&DCtx) != QCBOR_ERR_NUMBER_SIGN_CONVERSION) {
       return -2;
    }
    DCtx.uLastError = 0; // TODO: a method for this
 
    // 5([ 9223372036854775806, -4759477275222530853137])
    QCBORDecode_GetUInt64ConvertAll(&DCtx, QCBOR_CONVERT_TYPE_DECIMAL_FRACTION|QCBOR_CONVERT_TYPE_BIGFLOAT, &uinteger);
-   if(QCBORDecode_GetError(&DCtx) != QCBOR_ERR_CONVERSION_UNDER_OVER_FLOW) {
+   if(QCBORDecode_GetError(&DCtx) != QCBOR_ERR_NUMBER_SIGN_CONVERSION) {
       return -2;
    }
    DCtx.uLastError = 0; // TODO: a method for this