New tests.
[mono.git] / mono / tests / verifier / ChangeLog
1 2010-04-09 Rodrigo Kumpera  <rkumpera@novell.com>
2
3         * valid_switch_with_value_on_stack.il: New test.
4
5 2010-04-09 Rodrigo Kumpera  <rkumpera@novell.com>
6
7         valid_call_to_virtual_method_on_sealed_class.il: New test.
8
9 2010-04-07 Rodrigo Kumpera  <rkumpera@novell.com>
10
11         * valid_store_of_uint_to_int_array.il: Regression test
12         for #555950.
13
14 2010-04-05 Rodrigo Kumpera  <rkumpera@novell.com>
15
16         * unverifiable_ginst_dont_reduce_to_gparam_with_constraint.il: Regression test
17         for #587849.
18
19 2010-03-26 Rodrigo Kumpera  <rkumpera@novell.com>
20
21         * invalid_branch_in_between_prefix_and_instruction.il:
22         * invalid_empty_filter_block.il:
23         * make_endfilter_test.sh
24         * make_endfinally_test.sh: Silence which when gsed is not found.
25
26 2010-02-04 Rodrigo Kumpera  <rkumpera@novell.com>
27
28         * make_endfilter_test.sh: Fix this test to not have a throw that make some of the
29         endfilter unreachable.
30
31 2010-02-04 Rodrigo Kumpera  <rkumpera@novell.com>
32
33         * invalid_branch_in_between_prefix_and_instruction.il:
34         * invalid_empty_filter_block.il:
35         * make_endfilter_test.sh
36         * make_endfinally_test.sh: Bunch of OSX and test fixes.
37
38 2010-01-28 Rodrigo Kumpera  <rkumpera@novell.com>
39
40         * Makefile, *.sh, *.il: Change status of a bunch of a tests to reflect the metadata
41         verifier. First pass into making the test suite works under OSX.
42
43 2010-01-08 Rodrigo Kumpera  <rkumpera@novell.com>
44
45         * valid_iface_with_variant_constraint.cs: Constraints can be variant.
46
47 2009-12-26 Rodrigo Kumpera  <rkumpera@novell.com>
48
49         * invalid_try_catch_with_zero_max_stack.il: Regression test for bug #562320.
50
51 2009-08-17 Rodrigo Kumpera  <rkumpera@novell.com>
52
53         * valid_generic_type_definition_on_boxing_position.cs: Valid encoding of GTD on
54         box position.
55
56 2009-08-14 Rodrigo Kumpera  <rkumpera@novell.com>
57
58         *unverifiable_ldobj_with_generic_type_definition.il: Regression test for
59         bug #531237.
60
61 2009-07-20 Rodrigo Kumpera  <rkumpera@novell.com>
62
63         * Makefile: Add support for new test kind badmd for tests with broken
64         metadata.
65
66         * make_tests.sh: Fix some tests that have broken metadata.
67
68         * *.sh: Add execute bit.
69
70 2009-04-28 Rodrigo Kumpera  <rkumpera@novell.com>
71
72         * valid_ldflda_owned_field_on_cctor.il: Fix visibility of .ctor.
73
74 2009-04-20 Rodrigo Kumpera  <rkumpera@novell.com>
75
76         * valid_nested_eh_in_try_of_try_filter_block.il:  Regression
77         test for #495656.
78
79 2009-04-20 Rodrigo Kumpera  <rkumpera@novell.com>
80
81         * valid_initobj_this.cs: Regression test for #496175.
82
83 2009-04-19 Rodrigo Kumpera  <rkumpera@novell.com>
84
85         * valid_access_nested_class_multidym_array.cs: Regression test for
86         #496150.
87
88 2009-04-14 Rodrigo Kumpera  <rkumpera@novell.com>
89
90         * valid_br_before_try_block.il: Regression test for #494812.
91
92 2009-04-13 Rodrigo Kumpera  <rkumpera@novell.com>
93
94         * invalid_backward_branch.il: Fix typo.
95
96 2009-04-09 Rodrigo Kumpera  <rkumpera@novell.com>
97
98         * valid_delegate_signature_with_generics.cs: Test for the compatibility
99         of delegate arguments when a function has a non generic type argument
100         and the delegate has a generic one.
101
102 2009-04-08 Rodrigo Kumpera  <rkumpera@novell.com>
103
104         * valid_nested_access_with_multi_array_instance.cs:
105         * valid_nested_access_with_array_instance.cs: Regression tests for
106         #493068.
107
108 2009-04-07 Rodrigo Kumpera  <rkumpera@novell.com>
109
110         * valid_eh_block_with_no_instructions_after.il: Regression test
111         for #492494.
112
113 2009-04-06 Rodrigo Kumpera  <rkumpera@novell.com>
114
115         * unverifiable_throw_with_unboxed_generic_argument.il: Regression test
116         for #487738.
117
118 2009-04-02 Rodrigo Kumpera  <rkumpera@novell.com>
119
120         * valid_candidate_contraint_is_inflated_using_global_context.cs:
121         New test for cases where the candidate constraint type refers to the
122         global generic context.
123
124         We have to use it because it might be the case the the global context
125         has more arguments than the local one.
126
127 2009-03-31 Rodrigo Kumpera  <rkumpera@novell.com>
128
129         * invalid_catch_block_out_of_bounds.il
130         * invalid_try_block_out_of_bounds.il: Tests for proper bounds
131         check of exception clauses.
132
133 2009-03-16 Rodrigo Kumpera  <rkumpera@novell.com>
134
135         * invalid_generic_generic_object_is_boxed.il: Regression test
136         for #485706.
137
138 2009-02-17 Rodrigo Kumpera  <rkumpera@novell.com>
139
140         * unverifiable_array_element_type_compatiblity.il: Regression test
141         for #474271.
142
143 2009-02-16 Rodrigo Kumpera  <rkumpera@novell.com>
144
145         * valid_rethrow_doesnt_fallthrough: New regression test for
146         #476257.
147
148 2009-02-03 Rodrigo Kumpera  <rkumpera@novell.com>
149
150         * valid_boxed_vt_compatible_with_sys_vt_or_sys_enum.il:
151         Regression test for #469549.
152
153 2009-02-03 Rodrigo Kumpera  <rkumpera@novell.com>
154
155         * unverifiable_delegate_with_bad_bound_first_arg_to_static_method.il:
156         * mono/tests/verifier/valid_ldfnt_delegates_of_static_methods.il:
157         Regression test for #469529.
158
159 2009-02-03 Rodrigo Kumpera  <rkumpera@novell.com>
160
161         * valid_valuetype_boxed_types_are_merge_compatible.il:
162         Regression test for #469528.
163
164 2009-01-06 Rodrigo Kumpera <rkumpera@novell.com>
165
166         * valid_iface_constant_with_parent_implementing_it.il:
167         Regression test for #461200.
168
169 2009-01-06 Rodrigo Kumpera <rkumpera@novell.com>
170
171         * valid_array_compat_with_bonds_and_sizes.il:
172         * valid_array_compat_with_bounds.il:
173         * valid_array_compat_with_sizes.il: Regression tests for 
174         #461200.
175
176 2009-01-06 Rodrigo Kumpera <rkumpera@novell.com>
177
178         * valid_ceq_with_boxed_vt.il: Regression test for #461200.
179
180 2008-12-01 Rodrigo Kumpera <rkumpera@novell.com>
181
182         * unverifiable_boxed_type_not_compatible_with_string.il:
183         * unverifiable_boxed_type_not_compatible_with_valuetype.il:
184         * unverifiable_ret_with_boxed_value_on_stack.il: Regression tests
185         for #448560.
186
187 2008-09-03 Rodrigo Kumpera <rkumpera@novell.com>
188
189         * strict_native_int_converts_to_unamanged_pointer.cs: It turns
190         out that this test should generate unverifiable code. Big WTF
191         for me as well. 
192
193 2008-07-30 Rodrigo Kumpera <rkumpera@novell.com>
194
195         * valid_inflated_generic_constraint_compatible.il:
196         Regression test for constraints that require to be
197         inflated.
198
199 2008-07-30 Rodrigo Kumpera <rkumpera@novell.com>
200
201         * invalid_argument_type.il:
202         * invalid_local_variable.il: New tests for invalid types
203         in locals or arguments.
204
205 2008-07-28 Rodrigo Kumpera <rkumpera@novell.com>
206
207         * invalid_generic_type_with_explicit_layout.il: New test.
208         
209         * Makefile: Fix C# files compilation.
210
211 2008-07-25 Rodrigo Kumpera <rkumpera@novell.com>
212
213         * make_generic_argument_constraints_test.sh: New test
214         generator for constraint compatibility of generic arguments.
215
216         * make_tests.sh: Added tests using using
217         the new generator.
218
219         * invalid_generic_argument_violate_type_constraint.il:
220         Test for constraints compatibility between types.
221
222 2008-07-24 Rodrigo Kumpera <rkumpera@novell.com>
223
224         * unverifiable_binary_compare_with_generic_argument.il:
225         * unverifiable_binary_compare_with_valuetype.il:
226         * unverifiable_ceq_with_generic_argument.il:
227         * unverifiable_ceq_with_valuetype.il:
228         Tests for valuetypes and generic arguments with
229         bne.un and ceq.
230
231 2008-07-23 Rodrigo Kumpera <rkumpera@novell.com>
232
233         * valid_nested_field_access_with_generic_class.cs:
234         Check if nested access works with generic types. 
235
236         * valid_isinst_box_generic_arguments.il: Check if generic
237         arguments should be boxed by isisnt and castclass.
238
239 2008-07-23 Rodrigo Kumpera <rkumpera@novell.com>
240
241         * valid_generic_inst_field_might_have_zero_size.il:
242         Regression test found from gtest-106.exe
243
244 2008-07-11 Rodrigo Kumpera <rkumpera@novell.com>
245
246         * invalid_ldtoken_field.il
247         * invalid_ldtoken_method.il
248         * invalid_ldtoken_type_2.il
249         * invalid_ldtoken_type_3.il
250         * invalid_ldtoken_type.il: Tests for bad tokens for
251         the ldtoken opcode.
252
253 2008-07-11 Rodrigo Kumpera <rkumpera@novell.com>
254
255         * invalid_bad_method_instantiation.il: Test for 
256         instantiations using VAR or MVAR that are invalid
257         in the current context.
258
259 2008-07-11 Rodrigo Kumpera <rkumpera@novell.com>
260
261         * unverifiable_funptr_double_free_regression.il: Regression
262         test for double free of funptrs.
263
264 2008-06-24 Rodrigo Kumpera <rkumpera@novell.com>
265
266         * valid_generic_exception_catch_clause_type.cs: Regression
267         test for #402606.
268
269 2008-06-06 Rodrigo Kumpera <rkumpera@novell.com>
270
271         * make_ctor_test.sh: New test generator for 
272         constructor related tests.
273
274         * make_tests.sh: Added tests using using
275         the new generator.
276
277 2008-05-23 Rodrigo Kumpera <rkumpera@novell.com>
278
279         * valid_contravariant_delegate_1.il
280         * valid_contravariant_delegate_2.il
281         * valid_convariant_delegate_1.il
282         * valid_convariant_delegate_2.il
283         * valid_generic_delegate_1.cs
284         * valid_generic_delegate_2.cs
285         * valid_invariant_delegate.il: Test compatibility of generic
286         delegates in the presence of variance.
287
288 2008-05-14 Rodrigo Kumpera <rkumpera@novell.com>
289
290         * valid_visibility_across_generic_instantiations.cs: Regression
291         test for #390128.
292
293 2008-05-14 Rodrigo Kumpera <rkumpera@novell.com>
294
295         * test_lib.cs: Dependency for new visibility related tests.
296
297         * Makefile: Added compilation step for test_lib.cs.
298
299 2008-05-09 Rodrigo Kumpera <rkumpera@novell.com>
300
301         * make_type_visibility_test.sh: New test
302         generator for visibility tests of generic
303         method and type arguments.
304
305         * make_tests.sh: Added tests using using
306         the new generator.
307
308 2008-05-09 Rodrigo Kumpera <rkumpera@novell.com>
309
310         * make_tests.sh: Changed one test from unverifiable
311         to valid as it only fails on MS runtime due to a bug
312         on its implementation.
313
314 2008-05-02 Rodrigo Kumpera <rkumpera@novell.com>
315
316         * valid_nullable_store.il: New test to ensure
317         that nullables are properly compared.
318
319 2008-05-02 Rodrigo Kumpera <rkumpera@novell.com>
320
321         * valid_leave_before_try_block.il: New test to ensure
322         that the leave opcode empties the stack.
323
324 2008-05-02 Rodrigo Kumpera <rkumpera@novell.com>
325
326         * BatchCompiler.cs: ilasm generates bad tokens when
327         compiling many times within the same appdomain.
328         Using one per source file. Compilation times are
329         now just a bit faster than before.
330
331         * Makefile: Fix typo.
332
333 2008-05-01 Rodrigo Kumpera <rkumpera@novell.com>
334
335         * unverifiable_ldsfld_no_fld.il: Fixed compilation
336         and renamed to invalid_ldsfld_no_fld.il.
337
338         * BatchCompiler.cs: New driver to fast compile the
339         verifier test suite. It's about 20x faster now.
340
341         * Makefile: Use the ilasm driver for faster compilation.
342
343 2008-04-30 Rodrigo Kumpera <rkumpera@novell.com>
344
345         * make_il_overflow_test.sh: New test generator
346         for a truncated IL stream.
347
348         * make_tests.sh: Fixed generation script. Added
349         tests using the new generator.
350
351 2008-04-23 Rodrigo Kumpera <rkumpera@novell.com>
352
353         * make_tests.sh: Add some tests for overlapping
354         aligned reference fields.
355
356         * Makefile: Added new test prefix typeunverifiable.
357         It should be used for tests that type fails to load
358         only under verifiable.
359
360 2008-04-15 Rodrigo Kumpera <rkumpera@novell.com>
361
362         * make_boxed_genarg_test.sh: New test generator
363         for boxed generic arguments.
364
365         * make_test.sh: Added tests using the new generator
366         for the interaction between boxed generic arguments
367         and its constraint types.
368
369 2008-04-10 Rodrigo Kumpera <rkumpera@novell.com>
370
371         * AssemblyRunner.cs: If a VerificationException
372         happens while running under fulltrust, it means
373         that the code is invalid.
374
375         * make_method_constraint_test.sh: Test generator for
376         generic methods argument constraints.
377
378         * make_test.sh: Added tests for invalid opcodes
379         using the new generator.
380
381         * invalid_generic_method_and_type.il: New test
382         for generic constraints.
383
384 2008-04-10 Rodrigo Kumpera <rkumpera@novell.com>
385
386         * make_bad_op_test.sh: Test generator for
387         invalid opcodes.
388
389         * make_test.sh: Added tests for invalid opcodes
390         using the new generator.
391
392 2008-04-08 Rodrigo Kumpera <rkumpera@novell.com>
393
394         * make_overlapped_test.sh: Test generator for
395         overlapped fields.
396
397         * make_test.sh: Added tests for overlapped
398         fields using the new generator.
399
400 2008-04-07 Rodrigo Kumpera <rkumpera@novell.com>
401
402         * make_unary_test.sh: Clear the stack before ret.
403
404         * make_test.sh: Added tests for ckfinite.
405
406 2008-04-04 Rodrigo Kumpera <rkumpera@novell.com>
407
408         * make_tail_call_test.sh: New test generator for
409         tail prefix.
410
411         * make_test.sh: Added tests using the new generator.
412
413 2008-04-04 Rodrigo Kumpera <rkumpera@novell.com>
414
415         * invalid_branch_middle_of_instruction.il: Recent
416         work on prefixes broke the verification for branching
417         in the middle of an instruction.
418
419 2008-04-02 Rodrigo Kumpera <rkumpera@novell.com>
420
421         * make_prefix_test.sh: New test generator for
422         instruction prefix.
423
424         * make_test.sh: Added tests using the new generator.
425
426 2008-04-02 Rodrigo Kumpera <rkumpera@novell.com>
427
428         * make_type_constraint_test.sh: New test generator for
429         constraints on generic type arguments.
430
431         * make_testS: Added tests using the new generator.
432
433 2008-03-31 Rodrigo Kumpera <rkumpera@novell.com>
434
435         * AssemblyRunner.cs: Mark TypeLoadException as invalid code.
436
437 2008-03-25 Rodrigo Kumpera <rkumpera@novell.com>
438
439         * valid_branch_to_first_prefix.il: Test branching to the first prefix
440         of an instruction.
441
442 2008-03-24 Rodrigo Kumpera <rkumpera@novell.com>
443
444         * make_cmmp_test.sh: Test generator for readonly pointers.
445
446         * make_test.sh: New tests using the added generator.
447
448 2008-03-17 Rodrigo Kumpera <rkumpera@novell.com>
449
450         * make_constrained_test.sh: Test generator for constrained calls.
451
452         * make_test.sh: New tests using the added generator.
453
454 2008-03-12 Rodrigo Kumpera <rkumpera@novell.com>
455
456         * valid_generic_test.cs: Tests for generic classes.
457
458         * unverifiable_generic_type_field_access.il: Tests for
459         not mixing generic arguments.
460
461         * valid_generic_test.cs: Add tests for generic
462         class and method together.
463
464 2008-03-12 Rodrigo Kumpera <rkumpera@novell.com>
465
466         * strict_native_int_converts_to_unamanged_pointer.cs: Allow
467         conversion from native int to unmanaged pointer in non-strict mode.
468         This is required to allow the C# expression "(IntPtr)null" to be
469         verifiable.
470
471 2008-03-12 Rodrigo Kumpera <rkumpera@novell.com>
472
473         * valid_ldftn_final_virtual_method.il:
474         * valid_ldftn_sealed_type_virtual_method.il: Tests the interaction
475         of sealed type and final method or ldftn verifiability.
476
477 2008-03-11 Rodrigo Kumpera <rkumpera@novell.com>
478
479         * make_delegate_compat_test.sh: Added. Generate tests for
480         compatibility between delegate signature and function
481         signature.
482
483         * make_tests.sh: Added tests using make_delegate_compat_test.sh.
484
485 2008-03-10 Rodrigo Kumpera <rkumpera@novell.com>
486
487         * make_invalid_ret_type.sh: Added. Generate return site tests
488         for invalid return types.
489
490         * make_tests.sh: Add tests using make_invalid_ret_type.sh. 
491
492 2008-03-10 Rodrigo Kumpera <rkumpera@novell.com>
493
494         * unverifiable_callvirt_static_method.il: Added. Test for callvirt and
495         static methods.
496
497 2008-02-28 Rodrigo Kumpera <rkumpera@novell.com>
498
499         * invalid_refanytype_null_stack_top.il: New test for refanytype opcode.
500
501         * invalid_refanytype_invalid_stack_top.il: Same.
502
503         * valid_refanytype.il: Same.
504
505 2008-02-28 Rodrigo Kumpera <rkumpera@novell.com>
506
507         * make_mkrefany.il: New test generator for mkrefany opcode.
508
509         * make_tests.sh: Added tests for mkrefany.
510
511 2008-02-27 Rodrigo Kumpera <rkumpera@novell.com>
512
513         * valid_vararg.il: New test for calling vararg methods.
514
515 2008-02-27 Rodrigo Kumpera <rkumpera@novell.com>
516
517         * valid_refanyval.il: New test for the refanyval opcode.
518
519         * invalid_refanyval_null_stack_top.il: Same.
520
521         * invalid_refanyval_invalid_stack_top.il: Same.
522
523 2008-02-27 Rodrigo Kumpera <rkumpera@novell.com>
524
525         * valid_arglist.il: New test for the arglist opcode.
526
527         * invalid_arglist_method_not_vararg.il: Same.
528
529 2008-02-18 Rodrigo Kumpera <rkumpera@novell.com>
530
531         * unverifiable_locals_without_initlocals.il: Methods with locals
532         that are not .init are allways unverifiable.
533
534 2008-02-08 Rodrigo Kumpera <rkumpera@novell.com>
535
536         * unverifiable_void_ptr_store_2.cs: Tests for using unmanaged pointers.
537         This test looks for void pointers.
538
539         * unverifiable_void_ptr_store_3.cs: Same.
540
541         * unverifiable_void_ptr_store.cs: Same.
542
543         * valid_merge_boxed_type_3.cs: Test merging a reference type diferent than
544         System.Object and a boxed valuetype. This is hopefully the last issue of
545         merging stack frames.
546
547         * Makefile: compile .cs files with /unsafe switch.
548
549 2008-02-06 Rodrigo Kumpera <rkumpera@novell.com>
550
551         * valid_boxed_enum_is_compatible_with_system_enum.cs: Added. 
552         Test if an enum is compatible with System.Enum.
553
554         * valid_merge_boxed_type.cs: Added. Test merging
555         a boxed int32 with a reference type.
556
557         * valid_merge_boxed_type_2.cs: Same.
558
559         * make_ldelem_test.sh: Added some enums to be used by the tests.
560
561         * make_tests.sh: New tests for ldelem compatibility between enums
562         and their base type. Marked some tests as strict.
563
564 2008-02-06 Rodrigo Kumpera <rkumpera@novell.com>
565
566         * valid_merge_base_type.cs
567         * valid_merge_first_value_is_base_type.cs:
568         * valid_merge_interface_type_3.cs: 
569         * valid_merge_interface_type_4.cs:
570         * valid_merge_interface_type.cs:
571         * valid_merge_second_value_is_base_type.cs: New tests for stack merging.
572         These tests verify the correctness of the merged value.
573
574 2008-01-30 Rodrigo Kumpera <rkumpera@novell.com>
575
576         * make_tests.sh: More tests for brtrue/brfalse with boxed values
577         and null literals.
578
579         * make_bool_branch_test.sh: New optional arg to allow for new tests.
580
581 2008-01-30 Rodrigo Kumpera <rkumpera@novell.com>
582
583         * make_tests.sh: Removed some invalid tests for nesting access
584         as they where trying to call non final virtual methods without using
585         the 'this' pointer.
586
587 2008-01-23 Rodrigo Kumpera <rkumpera@novell.com>
588
589         * make_call_test.sh: test generator for call and callvirt.
590
591         * make_tests.sh: added tests for call and callvirt.
592
593 2008-01-21 Rodrigo Kumpera <rkumpera@novell.com>
594
595         * invalid_ldstr_bad_token.il: added. check the index
596         against the the #US heap.
597
598 2008-01-21 Rodrigo Kumpera <rkumpera@novell.com>
599
600         * unverifiable_newobj_no_visibility.il: added. visibility
601         check for newobj.
602
603 2008-01-21 Rodrigo Kumpera <rkumpera@novell.com>
604
605         * unverifiable_ldftn_no_visibility.il: added. visibility
606         check for ldftn.
607
608         * unverifiable_ldvirtftn_no_visibility.il: added. visibility
609         check for ldvirtftn.
610
611 2008-01-18 Rodrigo Kumpera <rkumpera@novell.com>
612
613         * make_tests.sh: added tests for ovf math with floats.
614
615 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
616
617         * make_localloc_test.sh: test generator for localloc.
618
619         * make_tests.sh: added tests for localloc.
620
621 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
622
623         * make_sizeof_test.sh: test generator for sizeof.
624
625         * make_tests.sh: added tests for sizeof.
626
627 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
628
629         * make_cp_test.sh: test generator for cpobj.
630
631         * make_tests.sh: added tests for cpobj.
632
633 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
634
635         * invalid_initobj_invalid_token_out_of_bounds.il: tests for initobj.
636
637         * invalid_initobj_invalid_token_type.il: same.
638
639         * make_initobj_test.sh: test generator for initobj.
640
641         * make_tests.sh: added tests for initobj.
642
643 2008-01-11 Rodrigo Kumpera <rkumpera@novell.com>
644
645         * unverifiable_ldfld_reference_type_by_ref.il: new test for ldfld.
646
647         * invalid_stojb_bad_token.il: test for bad ldobj token.
648
649         * invalid_stojb_token_out_of_bounds.il: same.
650
651         * make_stobj_test.sh: new test generator.
652
653         * make_test.sh: added new tests for stobj.
654         
655 2008-01-10 Rodrigo Kumpera <rkumpera@novell.com>
656
657         * valid_ldftn_method_spec_token.il: new test
658         for loading function pointers for generic methods.
659
660 2008-01-09 Rodrigo Kumpera <rkumpera@novell.com>
661
662         * make_test.sh: added tests for unbox.any.
663
664         * make_unbox_any_test.sh: new test generator.
665
666 2008-01-09 Rodrigo Kumpera <rkumpera@novell.com>
667
668         * make_test.sh: added tests for add|sub|mul ovf;
669
670         * unverifiable_unbox_toke_is_reference_type.il: New test for regressions
671         found while validating vbnc.
672
673         * valid_stind_ref_with_boxed_value.il: same.
674         *  valid_ldelema_enum_array.il: same.
675
676 2008-01-09 Rodrigo Kumpera <rkumpera@novell.com>
677
678         * valid_isinst_with_boxed_valuetype.il: New test for regressions
679         found while validating vbnc.
680
681         * valid_ldfld_valuetype_by_ref.il: same.
682         * valid_ldfld_valuetype_by_value.il: same.
683         * valid_stelem_ref_boxed_value.il: same.
684         * valid_stloc_boxed_valuetype.il: same.
685         * valid_sub_class_of_generic_type_is_compatible.il: same.
686         * unverifiable_ldfld_valuetype_boxed.il:  same.
687         * unverifiable_ldfld_reference_type_by_ref.il: same.
688
689         * make_test.sh: new tests for stfld and cgt.un.
690         
691
692 2008-01-08 Rodrigo Kumpera <rkumpera@novell.com>
693
694         * make_delegate_test.sh: increased max stack for
695         ldvirtftn tests.
696
697         * make_tests.sh: added new tests for delegates
698         constructed with ldvirtftn.
699
700 2008-01-07 Rodrigo Kumpera <rkumpera@novell.com>
701
702         * make_delegate_test.sh: added.
703
704         * make_tests.sh: added new tests for delegates
705         constructed with ldftn.
706
707 2008-01-03 Rodrigo Kumpera <rkumpera@novell.com>
708
709         * invalid_ldvirtftn_invalid_token_type.il: added.
710         
711         * make_ldvirtftn_test.sh: added.
712
713         * invalid_ldvirtftn_invalid_token_out_of_bounds.il: added.
714
715         * make_ldftn_test.sh: changed to allow more tests.
716
717         * make_tests.sh: added new tests for ldvirtftn and
718         a buch more for ldftn.
719
720 2007-12-31 Rodrigo Kumpera <rkumpera@novell.com>
721
722         * invalid_ldftn_invalid_token_out_of_bounds.il: added.
723         
724         * invalid_ldftn_invalid_token_type.il: added.
725
726         * make_ldftn_test.sh: added.
727
728         * make_test.sh: new tests for ldftn.
729
730         * AssemblyRunner.cs: added BadImageFormatException
731         to the list of invalid code errors. Removed
732         some dead code and an useless message.
733
734
735 2007-12-27 Rodrigo Kumpera <rkumpera@novell.com>
736
737         * invalid_non_empty_stack_at_try_begin.il: added.
738
739         * valid_branch_to_first_intruction_of_try.il: added.
740
741
742 2007-12-27 Rodrigo Kumpera <rkumpera@novell.com>
743
744         * make_exception_overlap_test.sh: new test generator.
745
746         * make_tests.sh: new tests for exception clause restrictions
747         enumerated in P1 12.4.2.7.
748
749         * invalid_catch_block_starts_after_prefix.il: new test
750         for a catch block that starts in the middle of an instruction.
751
752 2007-12-24 Rodrigo Kumpera <rkumpera@novell.com>
753
754         * make_switch_test.sh: new test generator.
755
756         * make_exception_branch_test.sh: the filter
757         handler did not pop the exception argument.
758
759         * make_tests.sh: add tests for switch.
760
761 2007-12-21 Rodrigo Kumpera <rkumpera@novell.com>
762
763         * make_branch_test.sh: new test generator.
764
765         * make_exception_branch_test.sh: added
766         support to test generator to specify
767         the expected result.
768
769         * make_tests.sh: some results for
770         make_exception_branch_test.sh were
771         wrong, fixed that.
772
773         * make_tests.sh: added some tests
774         to beq and bge.
775
776         * make_tests.sh added tests for br.
777
778 2007-12-20 Rodrigo Kumpera <rkumpera@novell.com>
779
780         * valid_exception_sequence.il: new test
781         for what blocks take an exception on
782         stack at the begin.
783
784 2007-12-19 Rodrigo Kumpera <rkumpera@novell.com>
785
786         * invalid_empty_catch_block.il
787         * invalid_empty_fault_block.il
788         * invalid_empty_filter_block.il
789         * invalid_empty_finally_block.il
790         * invalid_empty_handler_block.il
791         * invalid_empty_try_block.il
792         tests for empty protected blocks.
793
794         * invalid_exception_blocks_order.il:
795         test for the required ordering of exception
796         clauses.
797
798         * invalid_finally_block_overlap_try_block.il
799         * invalid_try_block_includes_catch_block.il
800         * invalid_try_block_inside_filter_block.il
801         tests for ill formed exception clauses.
802                 
803         * invalid_fallout_of_filter_block.il
804         * invalid_fallout_of_handler_block.il
805         * invalid_fallthru_into_filter_block.il
806         * invalid_fallthru_into_handler_block.il
807         * unverifiable_fallout_of_catch_block.il
808         * unverifiable_fallout_of_fault_block.il
809         * unverifiable_fallout_of_finally_block.il
810         * unverifiable_fallout_of_try_block.il
811         * unverifiable_fallthru_into_catch_block.il
812         * unverifiable_fallthru_into_fault_block.il
813         * unverifiable_fallthru_into_finally_block.il
814         * valid_end_try_block_with_throw.il:
815         tests for fallthru in and out of protected blocks.
816
817 2007-12-18 Rodrigo Kumpera <rkumpera@novell.com>
818
819         * make_test.sh: added tests for filter
820
821         * make_filter_test.sh: new test generator
822
823 2007-12-14 Rodrigo Kumpera <rkumpera@novell.com>
824
825         * make_test.sh: added tests for endfilter
826
827         * make_endfilter_test.sh: new test generator
828
829 2007-12-14 Rodrigo Kumpera <rkumpera@novell.com>
830
831         * Makefile: add support to check strict tests.
832
833         * AssemblyRunner.cs: start using peverify as part of the
834         process. Support for strict tests.
835
836 2007-12-12 Rodrigo Kumpera <rkumpera@novell.com>
837
838         * invalid_filter_ends_at_endfilter_1.il: tests if the
839         filter block is limited by the start of the associated 
840         handler clause or it is limited by the ocurrence of
841         endfilter. These 3 tests show that even if the endfilter
842         instruction must be the last, it doesn't define the end
843         of the filter block.
844
845         * invalid_filter_ends_at_endfilter_2.il: same
846
847         * invalid_filter_ends_at_endfilter_3.il: same
848
849         * make_test.sh: added tests for endfinally / endfault
850         * make_endfinally_test.sh: new test generator
851
852 2007-12-11 Rodrigo Kumpera <rkumpera@novell.com>
853
854         * make_test.sh: added tests for rethrow
855         * make_rethrow_test.sh: new test generator
856
857 2007-12-11 Rodrigo Kumpera <rkumpera@novell.com>
858
859         * make_test.sh: added tests for throw
860         * make_throw_test.sh: new test generator
861
862 2007-12-07 Rodrigo Kumpera <rkumpera@novell.com>
863
864         * make_test.sh: added tests for castclass and isinst
865         * make_cast_test.sh: new test generator
866
867 2007-12-07 Rodrigo Kumpera <rkumpera@novell.com>
868
869         * make_test.sh: added tests for stelem.X
870         * make_stelem_test.sh: new test generator
871
872 2007-12-06 Rodrigo Kumpera <rkumpera@novell.com>
873
874         * make_test.sh: added tests for ldelem
875
876 2007-12-06 Rodrigo Kumpera <rkumpera@novell.com>
877
878         * make_test.sh: fixed compilation issues with some tests.
879
880 2007-12-06 Rodrigo Kumpera <rkumpera@novell.com>
881
882         * make_test.sh: added tests for ldelem.X
883         * make_ldelem_test.sh: new test generator
884
885 2007-12-05 Rodrigo Kumpera <rkumpera@novell.com>
886
887         * make_test.sh: added tests for ldelema
888         * make_ldelema_test.sh: new test generator
889
890 2007-12-05 Rodrigo Kumpera <rkumpera@novell.com>
891
892         * make_test.sh: added tests for ldlen
893         * make_ldlen_test.sh: new test generator
894
895 2007-10-26 Rodrigo Kumpera <rkumpera@novell.com>
896
897         * valid_array_method.cs: test for invoking array methods.
898
899 2007-10-09 Rodrigo Kumpera <rkumpera@novell.com>
900
901         * make_tests.sh: tests for the return type of the invoked method.
902         tests for passing typedbyref as param.
903
904         * make_obj_store_test.sh: add new optional script parameter to tell
905         if class fields should be generated. This fix some bogus tests using
906         typedbyref.
907
908 2007-10-09 Rodrigo Kumpera <rkumpera@novell.com>
909         * make_tests.sh: unbox_byref_like test was flawed, it was not testing
910         the proper unverifable condition.
911
912 2007-10-09 Rodrigo Kumpera <rkumpera@novell.com>
913
914         * make_unary_test.sh: fixed an invalid struct that has no fields,
915         this was not the subject of the tests.
916         * make_newobj_test.sh: added, generate tests for newobj.
917         * make_tests.sh: added the new tests for newobj and some corner
918         cases of local/arg load/store.
919
920
921 2007-10-04 Rodrigo Kumpera <rkumpera@novell.com>
922
923         * make_store_indirect_test.sh: added, generate tests for stind.X.
924         * make_tests.sh: added the new tests for ldind.X.
925
926 2007-10-02 Rodrigo Kumpera <rkumpera@novell.com>
927
928         * make_tests.sh: added the new tests for ops mixing Int32 and IntPtr, disabled
929         the overlapped tests for now
930         * make_unary_test.sh: disabled the overlapped tests for now
931         * make_field_store_test.sh: sames
932
933 2007-09-27 Rodrigo Kumpera <rkumpera@novell.com>
934
935         * make_load_indirect_test.sh: added, generate tests for ldind.X.
936         * make_tests.sh: added the new tests for ldind.X and new tests for stloc/starg using 
937         native int and int32.
938
939 2007-09-25 Rodrigo Kumpera <rkumpera@novell.com>
940
941         * valid_load_addr.il: Tests for valid uses of ldarga and ldloca
942         * make_double_nesting_test.sh: Generate tests for calling nested classes from a diferent outer class
943
944 2007-09-25 Rodrigo Kumpera <rkumpera@novell.com>
945
946         * valid_generic_params.cs (added): Tests for valid use of generic types.
947         * Makedfile: added valid_generic_params.cs
948
949 2007-08-16 Rodrigo Kumpera <rkumpera@novell.com>
950
951         * make_newarr_test.sh (added):  Generate newarr related tests.
952         * make_tests.sh: Addes tests for newarr.
953
954
955 2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
956
957         * make_unbox_test.sh (added):  Generate unbox related tests.
958         * make_tests.sh: Addes tests for unbox.
959
960
961 2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
962
963         * make_ldobj_test.sh (added):  Generate ldobj related tests.
964         * make_tests.sh: Addes tests for ldobj.
965
966 2007-08-13 Rodrigo Kumpera <rkumpera@novell.com>
967
968         * make_ldtoken_test.sh (added):  Generate ldtoken related tests
969         * make_tests.sh: Addes tests for ldtoken, conv.*.* and visibility checks
970         for nested classes mixed with inheritance
971
972 2007-08-10 Rodrigo Kumpera <rkumpera@novell.com>
973
974         * make_test.sh: Added new visibility tests and not/neg tests
975         * make_cross_nested_access_test.sh: new test script for visibility
976         between two classes nested in the same class
977         * unverifiable_ldsfld_no_fld.il: added main method
978         * make_unary_test.sh: added some types to make room for more tests
979         * make_exception_branch_test.sh: fix the test to trigger the right error
980
981
982 2007-08-02 Rodrigo Kumpera <rkumpera@novell.com>
983
984         * make_exception_branch_test.sh: Fix the generation of the tests, so only
985         branching problems are validated.
986
987 2007-07-20 Rodrigo Kumpera <rkumpera@novell.com>
988
989         * make_test.sh: added more visibility tests
990         * Makefile: changed again the clean target to work with the larger number of tests
991         * make_self_nested_test.sh: new visibility tests
992
993 2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
994
995         * make_test.sh: added reference compatibility tests
996
997 2007-07-05 Rodrigo Kumpera <rkumpera@novell.com>
998
999         * AssemblyRunner.cs: bug fix: handles missing fields corrently
1000         * make_test.sh: correct some tests based on fixed AssemblyRunner
1001         
1002 2007-07-05 Rodrigo Kumpera <rkumpera@novell.com>
1003
1004         * AssemblyRunner.cs: Allow running the test suite from the same VM instance
1005         * make_tests.sh: improved the test-suite, now it works running under a VM, not just the verifier
1006         * unverifiable_ldflda_other_class_on_simple_method.il: same
1007         * unverifiable_ptr_nop.il: same
1008         * unverifiable_ldsflda_other_class_field_on_cctor.il: same
1009         * make_load_test.sh: same
1010         * make_stack_0_test.sh: same
1011         * make_obj_store_test.sh: same
1012         * unverifiable_m_ptr_ldloc.il: same
1013         * make_ret_test.sh: same
1014         * make_store_test.sh: same
1015         * unverifiable_ldsflda_other_class_on_simple_method.il: same
1016         * make_access_test.sh: same
1017         * unverifiable_ptr_ldloc.il: same
1018         * invalid_call_no_method.il: same
1019         * unverifiable_ldsfld_no_fld.il: same
1020         * unverifiable_ldflda_owner_class_on_simple_method.il: same
1021         * unverifiable_m_ptr_ldarg.il: same
1022         * make_stack_merge_test.sh: same
1023         * unverifiable_stack_2_ret.il: same
1024         * unverifiable_ldflda_other_class_field_on_ctor.il: same
1025         * unverifiable_ldflda_other_class_field_on_cctor.il: same
1026         * make_field_store_test.sh: same
1027         * invalid_backward_branch.il: same
1028         * unverifiable_ldfld_initonly.il: same
1029         * make_nested_access_test.sh: same
1030         * invalid_stack_2_ret.il: same
1031         * unverifiable_ldsflda_owner_class_on_simple_method.il: same
1032         * unverifiable_ptr_ldarg.il: same
1033         * valid_fld_initonly.il: same
1034         * make_bin_test.sh: same
1035         * make_field_valuetype_test.sh: new tests
1036         
1037
1038 2007-07-03 Rodrigo Kumpera <rkumpera@novell.com>
1039
1040         * make_tests.sh: new access verification tests
1041         * make_access_test.sh: create member access test
1042         * make_nested_access_tests.sh: create nested member access test
1043
1044 2007-07-03 Rodrigo Kumpera <rkumpera@novell.com>
1045
1046         *make_tests.sh: fixed two tests to produce valid results with .net
1047         *make_field_test.sh: make fields public
1048
1049 2007-06-22  Rodrigo Kumpera  <kumpera@gmail.com>
1050
1051         * unverifiable_ldflda_other_class_on_simple_method.il: test for load field address in .ctor
1052         * unverifiable_ldsflda_other_class_on_simple_method.il: same
1053         * unverifiable_ldsflda_other_class_field_on_cctor.il: same
1054         * unverifiable_ldflda_other_class_field_on_cctor.il: same
1055         * unverifiable_ldsflda_owner_class_on_simple_method.il: same
1056         * unverifiable_ldflda_owner_class_on_simple_method.il: same
1057         * valid_ldflda_owned_field_on_cctor.il: same
1058         * valid_ldsflda_owned_field_on_cctor.il: same
1059         * valid_local_ref_ref_store.il: valid local store that was not covered before
1060         * unverifiable_ptr_nop.il:  unmanaged pointer ops
1061         * unverifiable_ptr_ldloc.il: same
1062         * unverifiable_ptr_ldarg.il: same
1063         * unverifiable_m_ptr_ldloc.il: same
1064         * unverifiable_m_ptr_ldarg.il: same
1065
1066 2007-06-20  Rodrigo Kumpera  <kumpera@gmail.com>
1067
1068         *make_tests.sh: new ldsfld tests, more call conv tests
1069
1070 2007-06-19  Rodrigo Kumpera  <kumpera@gmail.com>
1071
1072         *make_tests.sh: new ldfld tests (they check everything but visibility)
1073         *make_field_store_test.sh: generated the new field tests
1074
1075 2007-06-14  Rodrigo Kumpera  <kumpera@gmail.com>
1076
1077         * invalid_dup_maxstack.il: the test wasn't generating the failing condition
1078         * make_tests.sh: fixed the generation of stack merge tests and a typo on the return coercion tests
1079         * unverifiable_ldfld_initonly.il: add assembly manifest (so it tests the right thing)
1080         * invalid_stack_2_ret.il: fix the entry point
1081
1082 2007-06-14  Rodrigo Kumpera  <kumpera@gmail.com>
1083         
1084         * invalid_call_empty_stack.il: added assembly manifest (so it tests the right thing)
1085         * invalid_ldsfld_nonstatic_fld.il: same
1086         * invalid_dup_maxstack.il: same
1087         * invalid_ldsfld_no_fld.il: same
1088         * unverifiable_call_private.il: same
1089         * invalid_backward_branch.il: same
1090         * make_unary_test.sh: same
1091         * invalid_ldloc_no_local.il: same
1092         * make_obj_store_test.sh: added static field to have stsfld tests
1093         * make_store_test.sh: fixed the entrypoint
1094         * make_tests.sh: fixed tests to be faithfull to the spec
1095
1096 2007-06-14  Rodrigo Kumpera  <kumpera@gmail.com>
1097
1098         *Changelog: fixed the dates of my commits
1099
1100 2007-06-14  Rodrigo Kumpera  <kumpera@gmail.com>
1101
1102         *make_load_test.sh: Fixed the entrypoint to generate valid code
1103         *make_ret_test.sh: Fixed the entrypoint to generate valid code. Removed invalid generics classes
1104         *make_tests.sh: Fixed the testsuite to not generate wrong tests
1105         *Makefile: split the clean step as it was failing due to the huge file list
1106          (it might need further tweaking as the testsuite grows)
1107
1108 2007-06-12  Rodrigo Kumpera  <kumpera@gmail.com>
1109
1110         * make_tests.sh: New boolean branch tests
1111         * make_bool_branch_test.sh: Test the stack value that boolean branches use (brfalse / brtrue)
1112         * make_ret_test.sh: removed unused variable from sed expression
1113
1114 2007-06-06  Rodrigo Kumpera  <kumpera@gmail.com>
1115
1116         * Makefile (run-test): Make it use pedump instead of mono for validation
1117         * make_tests.sh: New tests
1118         * invalid_stack_2_tet.il: New test
1119         * make_ret_test.sh: New test script
1120         * make_load_test.sh: New test script
1121         * make_obj_store_test.sh: Test did not generate valid code for some cases
1122         * make_store_test.sh: Test did not generate valid code for some cases
1123
1124 2006-06-06  Zoltan Varga  <vargaz@gmail.com>
1125
1126         * Makefile (run-test): Split 'test' target into a 'compile' and 'run-test' target.
1127
1128         * make_tests.sh: Remove some stack merge tests which are verifiable.
1129
1130         * make_unary_test.sh *.cil Makefile: Change extension of all static and generated
1131         test files to the standard .il.
1132
1133 2006-05-25  Zoltan Varga  <vargaz@gmail.com>
1134
1135         * *.sh: Fix more verification problems.
1136
1137         * TestRunner.cs: Use Assembly.EntryPoint instead of searching for a Main method.
1138
1139 2006-05-23  Zoltan Varga  <vargaz@gmail.com>
1140
1141         * make_store_test.sh make_obj_store_test.sh make_stack_merge_test.sh: Fix
1142         more ilasm and verification problems.
1143
1144         * TestRunner.cs: New file.
1145
1146 2006-05-12  Zoltan Varga  <vargaz@gmail.com>
1147
1148         * make_store_test.sh make_obj_store_test.sh make_stack_merge_test.sh: Make
1149         valuetypes sealed to fix ilasm warnings.
1150
1151 Sun Mar 12 16:18:04 CET 2006 Paolo Molaro <lupus@ximian.com>
1152
1153         * Initial import of the verifiers tests developed by
1154         Jim Purbrick <babbage@lindenlab.com>.
1155