2009-01-13 Rodrigo Kumpera <rkumpera@novell.com>
authorRodrigo Kumpera <kumpera@gmail.com>
Wed, 14 Jan 2009 00:13:02 +0000 (00:13 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Wed, 14 Jan 2009 00:13:02 +0000 (00:13 -0000)
* gen-md-tests.c: Add set-uint effect.

svn path=/trunk/mono/; revision=123282

mono/tests/metadata-verifier/Changelog
mono/tests/metadata-verifier/gen-md-tests.c

index 9bef20af5b08c5fb3178afb04301499de11ce8d2..5667f429ef518c8c96dd35ca1c4954765099276b 100644 (file)
@@ -1,3 +1,7 @@
+2009-01-13 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * gen-md-tests.c: Add set-uint effect.
+
 2009-01-13 Rodrigo Kumpera  <rkumpera@novell.com>
 
        * header-tests.md: Rename pe-header to pe-signature.
index e32ec3852a989dfd62685485bdced9101c66b8dd..b66c86ae4e84f897d1c39157da3541a863b1d4d4 100644 (file)
@@ -52,7 +52,7 @@ selector:
        'offset' expression
 
 effect:
-       ('set-byte' | 'set-uint') expression
+       ('set-byte' | 'set-ushort' | 'set-uint') expression
 
 expression:
        atom ([+-] atom)*
@@ -101,6 +101,7 @@ enum {
 
 enum {
        EFFECT_SET_BYTE,
+       EFFECT_SET_USHORT,
        EFFECT_SET_UINT,
        EFFECT_SET_TRUNC
 };
@@ -294,6 +295,10 @@ apply_effect (patch_effect_t *effect, test_entry_t *entry, guint32 offset)
                DEBUG_PARSER (printf("\tset-byte effect [%d]\n", value));
                SET_VAL (ptr, guint8, value);
                break;
+       case EFFECT_SET_USHORT:
+               DEBUG_PARSER (printf("\tset-sint effect [%d]\n", value));
+               SET_VAL (ptr, guint16, value);
+               break;
        case EFFECT_SET_UINT:
                DEBUG_PARSER (printf("\tset-uint effect [%d]\n", value));
                SET_VAL (ptr, guint32, value);
@@ -670,12 +675,14 @@ parse_effect (scanner_t *scanner)
 
        if (!strcmp ("set-byte", name))
                type = EFFECT_SET_BYTE; 
+       else if (!strcmp ("set-ushort", name))
+               type = EFFECT_SET_USHORT; 
        else if (!strcmp ("set-uint", name))
                type = EFFECT_SET_UINT; 
        else if (!strcmp ("truncate", name))
                type = EFFECT_SET_TRUNC;
        else 
-               FAIL(g_strdup_printf ("Invalid effect kind, expected one of: (set-byte set-uint) but got %s",name), INVALID_ID_TEXT);
+               FAIL(g_strdup_printf ("Invalid effect kind, expected one of: (set-byte set-ushort set-uint) but got %s",name), INVALID_ID_TEXT);
 
        effect = g_new0 (patch_effect_t, 1);
        effect->type = type;