1 2008-02-27 Rodrigo Kumpera <rkumpera@novell.com>
3 * valid_refanyval.il: New test for the refanyval opcode.
5 * invalid_refanyval_null_stack_top.il: Same.
7 * invalid_refanyval_invalid_stack_top.il: Same.
9 2008-02-27 Rodrigo Kumpera <rkumpera@novell.com>
11 * valid_arglist.il: New test for the arglist opcode.
13 * invalid_arglist_method_not_vararg.il: Same.
15 2008-02-18 Rodrigo Kumpera <rkumpera@novell.com>
17 * unverifiable_locals_without_initlocals.il: Methods with locals
18 that are not .init are allways unverifiable.
20 2008-02-08 Rodrigo Kumpera <rkumpera@novell.com>
22 * unverifiable_void_ptr_store_2.cs: Tests for using unmanaged pointers.
23 This test looks for void pointers.
25 * unverifiable_void_ptr_store_3.cs: Same.
27 * unverifiable_void_ptr_store.cs: Same.
29 * valid_merge_boxed_type_3.cs: Test merging a reference type diferent than
30 System.Object and a boxed valuetype. This is hopefully the last issue of
33 * Makefile: compile .cs files with /unsafe switch.
35 2008-02-06 Rodrigo Kumpera <rkumpera@novell.com>
37 * valid_boxed_enum_is_compatible_with_system_enum.cs: Added.
38 Test if an enum is compatible with System.Enum.
40 * valid_merge_boxed_type.cs: Added. Test merging
41 a boxed int32 with a reference type.
43 * valid_merge_boxed_type_2.cs: Same.
45 * make_ldelem_test.sh: Added some enums to be used by the tests.
47 * make_tests.sh: New tests for ldelem compatibility between enums
48 and their base type. Marked some tests as strict.
50 2008-02-06 Rodrigo Kumpera <rkumpera@novell.com>
52 * valid_merge_base_type.cs
53 * valid_merge_first_value_is_base_type.cs:
54 * valid_merge_interface_type_3.cs:
55 * valid_merge_interface_type_4.cs:
56 * valid_merge_interface_type.cs:
57 * valid_merge_second_value_is_base_type.cs: New tests for stack merging.
58 These tests verify the correctness of the merged value.
60 2008-01-30 Rodrigo Kumpera <rkumpera@novell.com>
62 * make_tests.sh: More tests for brtrue/brfalse with boxed values
65 * make_bool_branch_test.sh: New optional arg to allow for new tests.
67 2008-01-30 Rodrigo Kumpera <rkumpera@novell.com>
69 * make_tests.sh: Removed some invalid tests for nesting access
70 as they where trying to call non final virtual methods without using
73 2008-01-23 Rodrigo Kumpera <rkumpera@novell.com>
75 * make_call_test.sh: test generator for call and callvirt.
77 * make_tests.sh: added tests for call and callvirt.
79 2008-01-21 Rodrigo Kumpera <rkumpera@novell.com>
81 * invalid_ldstr_bad_token.il: added. check the index
82 against the the #US heap.
84 2008-01-21 Rodrigo Kumpera <rkumpera@novell.com>
86 * unverifiable_newobj_no_visibility.il: added. visibility
89 2008-01-21 Rodrigo Kumpera <rkumpera@novell.com>
91 * unverifiable_ldftn_no_visibility.il: added. visibility
94 * unverifiable_ldvirtftn_no_visibility.il: added. visibility
97 2008-01-18 Rodrigo Kumpera <rkumpera@novell.com>
99 * make_tests.sh: added tests for ovf math with floats.
101 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
103 * make_localloc_test.sh: test generator for localloc.
105 * make_tests.sh: added tests for localloc.
107 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
109 * make_sizeof_test.sh: test generator for sizeof.
111 * make_tests.sh: added tests for sizeof.
113 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
115 * make_cp_test.sh: test generator for cpobj.
117 * make_tests.sh: added tests for cpobj.
119 2008-01-17 Rodrigo Kumpera <rkumpera@novell.com>
121 * invalid_initobj_invalid_token_out_of_bounds.il: tests for initobj.
123 * invalid_initobj_invalid_token_type.il: same.
125 * make_initobj_test.sh: test generator for initobj.
127 * make_tests.sh: added tests for initobj.
129 2008-01-11 Rodrigo Kumpera <rkumpera@novell.com>
131 * unverifiable_ldfld_reference_type_by_ref.il: new test for ldfld.
133 * invalid_stojb_bad_token.il: test for bad ldobj token.
135 * invalid_stojb_token_out_of_bounds.il: same.
137 * make_stobj_test.sh: new test generator.
139 * make_test.sh: added new tests for stobj.
141 2008-01-10 Rodrigo Kumpera <rkumpera@novell.com>
143 * valid_ldftn_method_spec_token.il: new test
144 for loading function pointers for generic methods.
146 2008-01-09 Rodrigo Kumpera <rkumpera@novell.com>
148 * make_test.sh: added tests for unbox.any.
150 * make_unbox_any_test.sh: new test generator.
152 2008-01-09 Rodrigo Kumpera <rkumpera@novell.com>
154 * make_test.sh: added tests for add|sub|mul ovf;
156 * unverifiable_unbox_toke_is_reference_type.il: New test for regressions
157 found while validating vbnc.
159 * valid_stind_ref_with_boxed_value.il: same.
160 * valid_ldelema_enum_array.il: same.
162 2008-01-09 Rodrigo Kumpera <rkumpera@novell.com>
164 * valid_isinst_with_boxed_valuetype.il: New test for regressions
165 found while validating vbnc.
167 * valid_ldfld_valuetype_by_ref.il: same.
168 * valid_ldfld_valuetype_by_value.il: same.
169 * valid_stelem_ref_boxed_value.il: same.
170 * valid_stloc_boxed_valuetype.il: same.
171 * valid_sub_class_of_generic_type_is_compatible.il: same.
172 * unverifiable_ldfld_valuetype_boxed.il: same.
173 * unverifiable_ldfld_reference_type_by_ref.il: same.
175 * make_test.sh: new tests for stfld and cgt.un.
178 2008-01-08 Rodrigo Kumpera <rkumpera@novell.com>
180 * make_delegate_test.sh: increased max stack for
183 * make_tests.sh: added new tests for delegates
184 constructed with ldvirtftn.
186 2008-01-07 Rodrigo Kumpera <rkumpera@novell.com>
188 * make_delegate_test.sh: added.
190 * make_tests.sh: added new tests for delegates
191 constructed with ldftn.
193 2008-01-03 Rodrigo Kumpera <rkumpera@novell.com>
195 * invalid_ldvirtftn_invalid_token_type.il: added.
197 * make_ldvirtftn_test.sh: added.
199 * invalid_ldvirtftn_invalid_token_out_of_bounds.il: added.
201 * make_ldftn_test.sh: changed to allow more tests.
203 * make_tests.sh: added new tests for ldvirtftn and
204 a buch more for ldftn.
206 2007-12-31 Rodrigo Kumpera <rkumpera@novell.com>
208 * invalid_ldftn_invalid_token_out_of_bounds.il: added.
210 * invalid_ldftn_invalid_token_type.il: added.
212 * make_ldftn_test.sh: added.
214 * make_test.sh: new tests for ldftn.
216 * AssemblyRunner.cs: added BadImageFormatException
217 to the list of invalid code errors. Removed
218 some dead code and an useless message.
221 2007-12-27 Rodrigo Kumpera <rkumpera@novell.com>
223 * invalid_non_empty_stack_at_try_begin.il: added.
225 * valid_branch_to_first_intruction_of_try.il: added.
228 2007-12-27 Rodrigo Kumpera <rkumpera@novell.com>
230 * make_exception_overlap_test.sh: new test generator.
232 * make_tests.sh: new tests for exception clause restrictions
233 enumerated in P1 12.4.2.7.
235 * invalid_catch_block_starts_after_prefix.il: new test
236 for a catch block that starts in the middle of an instruction.
238 2007-12-24 Rodrigo Kumpera <rkumpera@novell.com>
240 * make_switch_test.sh: new test generator.
242 * make_exception_branch_test.sh: the filter
243 handler did not pop the exception argument.
245 * make_tests.sh: add tests for switch.
247 2007-12-21 Rodrigo Kumpera <rkumpera@novell.com>
249 * make_branch_test.sh: new test generator.
251 * make_exception_branch_test.sh: added
252 support to test generator to specify
255 * make_tests.sh: some results for
256 make_exception_branch_test.sh were
259 * make_tests.sh: added some tests
262 * make_tests.sh added tests for br.
264 2007-12-20 Rodrigo Kumpera <rkumpera@novell.com>
266 * valid_exception_sequence.il: new test
267 for what blocks take an exception on
270 2007-12-19 Rodrigo Kumpera <rkumpera@novell.com>
272 * invalid_empty_catch_block.il
273 * invalid_empty_fault_block.il
274 * invalid_empty_filter_block.il
275 * invalid_empty_finally_block.il
276 * invalid_empty_handler_block.il
277 * invalid_empty_try_block.il
278 tests for empty protected blocks.
280 * invalid_exception_blocks_order.il:
281 test for the required ordering of exception
284 * invalid_finally_block_overlap_try_block.il
285 * invalid_try_block_includes_catch_block.il
286 * invalid_try_block_inside_filter_block.il
287 tests for ill formed exception clauses.
289 * invalid_fallout_of_filter_block.il
290 * invalid_fallout_of_handler_block.il
291 * invalid_fallthru_into_filter_block.il
292 * invalid_fallthru_into_handler_block.il
293 * unverifiable_fallout_of_catch_block.il
294 * unverifiable_fallout_of_fault_block.il
295 * unverifiable_fallout_of_finally_block.il
296 * unverifiable_fallout_of_try_block.il
297 * unverifiable_fallthru_into_catch_block.il
298 * unverifiable_fallthru_into_fault_block.il
299 * unverifiable_fallthru_into_finally_block.il
300 * valid_end_try_block_with_throw.il:
301 tests for fallthru in and out of protected blocks.
303 2007-12-18 Rodrigo Kumpera <rkumpera@novell.com>
305 * make_test.sh: added tests for filter
307 * make_filter_test.sh: new test generator
309 2007-12-14 Rodrigo Kumpera <rkumpera@novell.com>
311 * make_test.sh: added tests for endfilter
313 * make_endfilter_test.sh: new test generator
315 2007-12-14 Rodrigo Kumpera <rkumpera@novell.com>
317 * Makefile: add support to check strict tests.
319 * AssemblyRunner.cs: start using peverify as part of the
320 process. Support for strict tests.
322 2007-12-12 Rodrigo Kumpera <rkumpera@novell.com>
324 * invalid_filter_ends_at_endfilter_1.il: tests if the
325 filter block is limited by the start of the associated
326 handler clause or it is limited by the ocurrence of
327 endfilter. These 3 tests show that even if the endfilter
328 instruction must be the last, it doesn't define the end
331 * invalid_filter_ends_at_endfilter_2.il: same
333 * invalid_filter_ends_at_endfilter_3.il: same
335 * make_test.sh: added tests for endfinally / endfault
336 * make_endfinally_test.sh: new test generator
338 2007-12-11 Rodrigo Kumpera <rkumpera@novell.com>
340 * make_test.sh: added tests for rethrow
341 * make_rethrow_test.sh: new test generator
343 2007-12-11 Rodrigo Kumpera <rkumpera@novell.com>
345 * make_test.sh: added tests for throw
346 * make_throw_test.sh: new test generator
348 2007-12-07 Rodrigo Kumpera <rkumpera@novell.com>
350 * make_test.sh: added tests for castclass and isinst
351 * make_cast_test.sh: new test generator
353 2007-12-07 Rodrigo Kumpera <rkumpera@novell.com>
355 * make_test.sh: added tests for stelem.X
356 * make_stelem_test.sh: new test generator
358 2007-12-06 Rodrigo Kumpera <rkumpera@novell.com>
360 * make_test.sh: added tests for ldelem
362 2007-12-06 Rodrigo Kumpera <rkumpera@novell.com>
364 * make_test.sh: fixed compilation issues with some tests.
366 2007-12-06 Rodrigo Kumpera <rkumpera@novell.com>
368 * make_test.sh: added tests for ldelem.X
369 * make_ldelem_test.sh: new test generator
371 2007-12-05 Rodrigo Kumpera <rkumpera@novell.com>
373 * make_test.sh: added tests for ldelema
374 * make_ldelema_test.sh: new test generator
376 2007-12-05 Rodrigo Kumpera <rkumpera@novell.com>
378 * make_test.sh: added tests for ldlen
379 * make_ldlen_test.sh: new test generator
381 2007-10-26 Rodrigo Kumpera <rkumpera@novell.com>
383 * valid_array_method.cs: test for invoking array methods.
385 2007-10-09 Rodrigo Kumpera <rkumpera@novell.com>
387 * make_tests.sh: tests for the return type of the invoked method.
388 tests for passing typedbyref as param.
390 * make_obj_store_test.sh: add new optional script parameter to tell
391 if class fields should be generated. This fix some bogus tests using
394 2007-10-09 Rodrigo Kumpera <rkumpera@novell.com>
395 * make_tests.sh: unbox_byref_like test was flawed, it was not testing
396 the proper unverifable condition.
398 2007-10-09 Rodrigo Kumpera <rkumpera@novell.com>
400 * make_unary_test.sh: fixed an invalid struct that has no fields,
401 this was not the subject of the tests.
402 * make_newobj_test.sh: added, generate tests for newobj.
403 * make_tests.sh: added the new tests for newobj and some corner
404 cases of local/arg load/store.
407 2007-10-04 Rodrigo Kumpera <rkumpera@novell.com>
409 * make_store_indirect_test.sh: added, generate tests for stind.X.
410 * make_tests.sh: added the new tests for ldind.X.
412 2007-10-02 Rodrigo Kumpera <rkumpera@novell.com>
414 * make_tests.sh: added the new tests for ops mixing Int32 and IntPtr, disabled
415 the overlapped tests for now
416 * make_unary_test.sh: disabled the overlapped tests for now
417 * make_field_store_test.sh: sames
419 2007-09-27 Rodrigo Kumpera <rkumpera@novell.com>
421 * make_load_indirect_test.sh: added, generate tests for ldind.X.
422 * make_tests.sh: added the new tests for ldind.X and new tests for stloc/starg using
423 native int and int32.
425 2007-09-25 Rodrigo Kumpera <rkumpera@novell.com>
427 * valid_load_addr.il: Tests for valid uses of ldarga and ldloca
428 * make_double_nesting_test.sh: Generate tests for calling nested classes from a diferent outer class
430 2007-09-25 Rodrigo Kumpera <rkumpera@novell.com>
432 * valid_generic_params.cs (added): Tests for valid use of generic types.
433 * Makedfile: added valid_generic_params.cs
435 2007-08-16 Rodrigo Kumpera <rkumpera@novell.com>
437 * make_newarr_test.sh (added): Generate newarr related tests.
438 * make_tests.sh: Addes tests for newarr.
441 2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
443 * make_unbox_test.sh (added): Generate unbox related tests.
444 * make_tests.sh: Addes tests for unbox.
447 2007-08-15 Rodrigo Kumpera <rkumpera@novell.com>
449 * make_ldobj_test.sh (added): Generate ldobj related tests.
450 * make_tests.sh: Addes tests for ldobj.
452 2007-08-13 Rodrigo Kumpera <rkumpera@novell.com>
454 * make_ldtoken_test.sh (added): Generate ldtoken related tests
455 * make_tests.sh: Addes tests for ldtoken, conv.*.* and visibility checks
456 for nested classes mixed with inheritance
458 2007-08-10 Rodrigo Kumpera <rkumpera@novell.com>
460 * make_test.sh: Added new visibility tests and not/neg tests
461 * make_cross_nested_access_test.sh: new test script for visibility
462 between two classes nested in the same class
463 * unverifiable_ldsfld_no_fld.il: added main method
464 * make_unary_test.sh: added some types to make room for more tests
465 * make_exception_branch_test.sh: fix the test to trigger the right error
468 2007-08-02 Rodrigo Kumpera <rkumpera@novell.com>
470 * make_exception_branch_test.sh: Fix the generation of the tests, so only
471 branching problems are validated.
473 2007-07-20 Rodrigo Kumpera <rkumpera@novell.com>
475 * make_test.sh: added more visibility tests
476 * Makefile: changed again the clean target to work with the larger number of tests
477 * make_self_nested_test.sh: new visibility tests
479 2007-07-19 Rodrigo Kumpera <rkumpera@novell.com>
481 * make_test.sh: added reference compatibility tests
483 2007-07-05 Rodrigo Kumpera <rkumpera@novell.com>
485 * AssemblyRunner.cs: bug fix: handles missing fields corrently
486 * make_test.sh: correct some tests based on fixed AssemblyRunner
488 2007-07-05 Rodrigo Kumpera <rkumpera@novell.com>
490 * AssemblyRunner.cs: Allow running the test suite from the same VM instance
491 * make_tests.sh: improved the test-suite, now it works running under a VM, not just the verifier
492 * unverifiable_ldflda_other_class_on_simple_method.il: same
493 * unverifiable_ptr_nop.il: same
494 * unverifiable_ldsflda_other_class_field_on_cctor.il: same
495 * make_load_test.sh: same
496 * make_stack_0_test.sh: same
497 * make_obj_store_test.sh: same
498 * unverifiable_m_ptr_ldloc.il: same
499 * make_ret_test.sh: same
500 * make_store_test.sh: same
501 * unverifiable_ldsflda_other_class_on_simple_method.il: same
502 * make_access_test.sh: same
503 * unverifiable_ptr_ldloc.il: same
504 * invalid_call_no_method.il: same
505 * unverifiable_ldsfld_no_fld.il: same
506 * unverifiable_ldflda_owner_class_on_simple_method.il: same
507 * unverifiable_m_ptr_ldarg.il: same
508 * make_stack_merge_test.sh: same
509 * unverifiable_stack_2_ret.il: same
510 * unverifiable_ldflda_other_class_field_on_ctor.il: same
511 * unverifiable_ldflda_other_class_field_on_cctor.il: same
512 * make_field_store_test.sh: same
513 * invalid_backward_branch.il: same
514 * unverifiable_ldfld_initonly.il: same
515 * make_nested_access_test.sh: same
516 * invalid_stack_2_ret.il: same
517 * unverifiable_ldsflda_owner_class_on_simple_method.il: same
518 * unverifiable_ptr_ldarg.il: same
519 * valid_fld_initonly.il: same
520 * make_bin_test.sh: same
521 * make_field_valuetype_test.sh: new tests
524 2007-07-03 Rodrigo Kumpera <rkumpera@novell.com>
526 * make_tests.sh: new access verification tests
527 * make_access_test.sh: create member access test
528 * make_nested_access_tests.sh: create nested member access test
530 2007-07-03 Rodrigo Kumpera <rkumpera@novell.com>
532 *make_tests.sh: fixed two tests to produce valid results with .net
533 *make_field_test.sh: make fields public
535 2007-06-22 Rodrigo Kumpera <kumpera@gmail.com>
537 * unverifiable_ldflda_other_class_on_simple_method.il: test for load field address in .ctor
538 * unverifiable_ldsflda_other_class_on_simple_method.il: same
539 * unverifiable_ldsflda_other_class_field_on_cctor.il: same
540 * unverifiable_ldflda_other_class_field_on_cctor.il: same
541 * unverifiable_ldsflda_owner_class_on_simple_method.il: same
542 * unverifiable_ldflda_owner_class_on_simple_method.il: same
543 * valid_ldflda_owned_field_on_cctor.il: same
544 * valid_ldsflda_owned_field_on_cctor.il: same
545 * valid_local_ref_ref_store.il: valid local store that was not covered before
546 * unverifiable_ptr_nop.il: unmanaged pointer ops
547 * unverifiable_ptr_ldloc.il: same
548 * unverifiable_ptr_ldarg.il: same
549 * unverifiable_m_ptr_ldloc.il: same
550 * unverifiable_m_ptr_ldarg.il: same
552 2007-06-20 Rodrigo Kumpera <kumpera@gmail.com>
554 *make_tests.sh: new ldsfld tests, more call conv tests
556 2007-06-19 Rodrigo Kumpera <kumpera@gmail.com>
558 *make_tests.sh: new ldfld tests (they check everything but visibility)
559 *make_field_store_test.sh: generated the new field tests
561 2007-06-14 Rodrigo Kumpera <kumpera@gmail.com>
563 * invalid_dup_maxstack.il: the test wasn't generating the failing condition
564 * make_tests.sh: fixed the generation of stack merge tests and a typo on the return coercion tests
565 * unverifiable_ldfld_initonly.il: add assembly manifest (so it tests the right thing)
566 * invalid_stack_2_ret.il: fix the entry point
568 2007-06-14 Rodrigo Kumpera <kumpera@gmail.com>
570 * invalid_call_empty_stack.il: added assembly manifest (so it tests the right thing)
571 * invalid_ldsfld_nonstatic_fld.il: same
572 * invalid_dup_maxstack.il: same
573 * invalid_ldsfld_no_fld.il: same
574 * unverifiable_call_private.il: same
575 * invalid_backward_branch.il: same
576 * make_unary_test.sh: same
577 * invalid_ldloc_no_local.il: same
578 * make_obj_store_test.sh: added static field to have stsfld tests
579 * make_store_test.sh: fixed the entrypoint
580 * make_tests.sh: fixed tests to be faithfull to the spec
582 2007-06-14 Rodrigo Kumpera <kumpera@gmail.com>
584 *Changelog: fixed the dates of my commits
586 2007-06-14 Rodrigo Kumpera <kumpera@gmail.com>
588 *make_load_test.sh: Fixed the entrypoint to generate valid code
589 *make_ret_test.sh: Fixed the entrypoint to generate valid code. Removed invalid generics classes
590 *make_tests.sh: Fixed the testsuite to not generate wrong tests
591 *Makefile: split the clean step as it was failing due to the huge file list
592 (it might need further tweaking as the testsuite grows)
594 2007-06-12 Rodrigo Kumpera <kumpera@gmail.com>
596 * make_tests.sh: New boolean branch tests
597 * make_bool_branch_test.sh: Test the stack value that boolean branches use (brfalse / brtrue)
598 * make_ret_test.sh: removed unused variable from sed expression
600 2007-06-06 Rodrigo Kumpera <kumpera@gmail.com>
602 * Makefile (run-test): Make it use pedump instead of mono for validation
603 * make_tests.sh: New tests
604 * invalid_stack_2_tet.il: New test
605 * make_ret_test.sh: New test script
606 * make_load_test.sh: New test script
607 * make_obj_store_test.sh: Test did not generate valid code for some cases
608 * make_store_test.sh: Test did not generate valid code for some cases
610 2006-06-06 Zoltan Varga <vargaz@gmail.com>
612 * Makefile (run-test): Split 'test' target into a 'compile' and 'run-test' target.
614 * make_tests.sh: Remove some stack merge tests which are verifiable.
616 * make_unary_test.sh *.cil Makefile: Change extension of all static and generated
617 test files to the standard .il.
619 2006-05-25 Zoltan Varga <vargaz@gmail.com>
621 * *.sh: Fix more verification problems.
623 * TestRunner.cs: Use Assembly.EntryPoint instead of searching for a Main method.
625 2006-05-23 Zoltan Varga <vargaz@gmail.com>
627 * make_store_test.sh make_obj_store_test.sh make_stack_merge_test.sh: Fix
628 more ilasm and verification problems.
630 * TestRunner.cs: New file.
632 2006-05-12 Zoltan Varga <vargaz@gmail.com>
634 * make_store_test.sh make_obj_store_test.sh make_stack_merge_test.sh: Make
635 valuetypes sealed to fix ilasm warnings.
637 Sun Mar 12 16:18:04 CET 2006 Paolo Molaro <lupus@ximian.com>
639 * Initial import of the verifiers tests developed by
640 Jim Purbrick <babbage@lindenlab.com>.