+++ /dev/null
-Test cases listed by Category:
-==============================
-
-* Operators
-
- test-146.cs test-175.cs test-200.cs test-204.cs
-
-* Overloading
-
- test-147.cs test-173.cs
-
-* Try/Catch blocks
-
- verify-1.cs verify-2.cs
-
-* Indexers and Properties
-
- test-148.cs test-166.cs test-206.cs test-208.cs test-209.cs
- test-221.cs test-236.cs
-
-* Events and Delegates
-
- test-149.cs test-164.cs test-237.cs verify-3.cs
-
-* Constant Folding
-
- test-150.cs
-
-* Switch blocks
-
- test-152.cs test-193.cs test-234.cs verify-4.cs
-
-* Member Access & Simple Names
-
- test-151.cs test-159.cs test-160.cs test-161.cs test-190.cs
-
-* Invocation and Casts
-
- test-153.cs test-163.c test-207.cs test-210.cs test-211.cs test-223.cs
-
-* Flow Analysis
-
- test-154.cs test-162.cs test-185.cs
-
-* Type Containers
-
- test-155.cs test-156.cs
-
-* Attributes
-
- test-157.cs test-158.cs test-177.cs test-230.cs test-238.cs test-239.cs test-240.cs
-
-* Arrays and array creation
-
- test-165.cs, test-167.cs, test-232.cs
-
-* Labels and goto
-
- verify-5.cs
-
-* Enums
-
- verify-6.cs
-
-* Type resolution and name lookup
-
- test-198.cs test-201.cs test-202.cs test-203.cs test-214.cs
-
-Test cases listed by Number:
-============================
-
-test-91.cs
-----------
-
-Tests various permissions sets based on the visiblity flags.
-
-test-146.cs
------------
-Test for Binary.EmitBrancheable() to ensure we're emitting correct
-unsinged branch targets.
-
-test-147.cs
------------
-Testing `new' modifier.
-
-test-148.cs
------------
-Testing the `IndexerName' attribute in interface indexers.
-
-test-149.cs
------------
-Testing interface events.
-
-test-150.cs
------------
-Test for folding of UIntConstants. See bug #28106.
-FIXME: We should all all possible test cases to this test.
-
-test-151.cs
------------
-
- A.Iface b;
- void doit (Object A) {
- b = (A.Iface)A;
- }
-
-test-152.cs
------------
-Scope of variables declared inside a switch case.
-
-test-153.cs
------------
-Testing invocation of varargs function.
-
-test-154.cs
------------
-Flow analysis: This test contains all situations which are "allowed".
-
-test-155.cs
------------
-Nested interfaces.
-
-test-156.cs
------------
-Check whether base types are at least as accessible than the current type.
-
-test-157.cs
------------
-Attributes.
-
-test-158.cs
------------
-Attributes.
-
-test-159.cs
------------
-SimpleNameLookup: Cast to `A.Iface' type when there's a parameter called `A'.
-
-test-160.cs
------------
-ResolveMemberLookup: `B look; return look.s.a' must work in static context.
-
-test-161.cs
------------
-ResolveMemberLookup: Field initializer references `DateTime.Now' when there's
-an instance property/field `DateTime'.
-
-test-162.cs
------------
-Control Flow Analysis wrt. structs.
-
-test-163.cs
------------
-Test to check we select string over object when we have a Null literal as the argument.
-
-test-164.cs
------------
-Virtual functions in delegate creation expressions.
-
-test-165.cs
------------
-Enums in array creation expression.
-
-test-166.cs
------------
-Using property from interface which is inherited multiple times.
-
-test-173.cs
------------
-Check whether we select the correct function, don't report CS0121
-for integer literals.
-
-test-174.cs
------------
-Checks access to protected properties on base classes, and access to
-private properties on container classes.
-
-test-175.cs
------------
-Check for user-defined implicit conversions if both arguments of a
-binary operator are of a user-defined type. Bug #30443.
-
-test-176.cs
------------
-This tests checks that we perform constant folding on byte values. The
-compiler had a bug where it did not do so.
-
-test-177.cs
------------
-This tests that the compiler is generating "return:" attributes for a
-method. This was a separate code path, and was not handled in the past.
-
-
-test-178.cs
------------
-Ensure that we emit attributes only once for operators. Bug #45876
-
-
-test-179.cs
------------
-Tests various uses of the indexers in the presence of the `new' keyword
-and various different argument types.
-
-test-180.cs
------------
-This test is part of a bug report in which casting an enumeration value
-into System.Enum was not wrapped correctly, and the wrong method was
-called.
-
-test-181.cs
------------
-Test whenever mcs correctly handles the MethodImplAttributes
-custom attribute.
-
-test-182.cs
------------
-Tests that bug 37473 is gone. The problem was that we were generating
-incorrect code for field references on a value type. The code was originally
-written by Martin, but I turned it off as I did not see what it did fix. The
-code is now turned on again.
-
-test-183.cs
------------
-This test just verifies that we generate the proper signature for
-EndInvoke, something that we were not doing before in the presence
-of out parameters
-
-test-184.cs
------------
-This test fixes a bug that exposed a problem when calling a struct
-constructor that is initialized from an instance constructor
-
-test-185.cs
------------
-Flow analysis wrt. infinite loops. Bug #37708.
-
-test-186.cs
------------
-Typecasts were not being constant-folded/reduced, which triggered
-the bug 37363. (String) null was not a null constant in attributes.
-
-test-187.cs
------------
-This test verifies that we resolve the source expression in a compound
-expression before we attempt to use it.
-
-test-188.cs
------------
-Test that the foreach statement generated by mcs invokes the Dispose()
-method even if the enumerator class returned by GetEnumerator () does not
-implement IDisposable.
-
-test-189.cs
------------
-Test to ensure proper overload resolution of params method under various cases.
-
-test-190.cs
------------
-Accessing private field of outer class from which we derive.
-
-tests-191.cs
-------------
-Some accessibility tests that exist in Corlib and System, to probe the new
-functionality in the compiler for accessibility of private nested classes.
-
-test-192.cs
------------
-Fix for bug 41952, basically, we were not using the `unchecked' bit during
-constant resolution due to the nature of EmitMeta.
-
-test-193.cs
------------
-Fix for bug 39828, allow goto to a label in another switch section.
-
-test-194.cs
------------
-Fix for bug #39108 - ensure that the correct form of a params method is called:
-
-"explicit conversion of argument to object
-(type object cannot be implicitly converted to type
-object[]) affects resolution of normal/expanded form
-of method invocation."
-
-test-195.cs
------------
-
-Fix for bug #45149, constructors that call another constructor in the
-same class (using ": this()") should not emit instance field initializers.
-
-test-196.cs:
-------------
-
-The optimization that we perform in uint & int-constant was triggering a bug
-because we returned always, when we should have continued the processing if the
-conditions were not correct.
-
-test-197.cs
------------
-
-Fix for bug #42973.
-
-test-198.cs
------------
-
-Type resolution and name lookup. Fixes for bugs #36316, #36314.
-
-test-199.cs
------------
-
-Name resolution wrt. inaccessible types. Fixes bug #36313.
-
-test-200.cs
------------
-
-Compound assignment (x = (y += 3)). Fixes bug #45854.
-
-test-201.cs
------------
-
-Fix for bug #35631.
-
-test-202.cs
------------
-
-Fix for bug #41975.
-
-test-203.cs
------------
-
-Fix for bug #33026.
-
-test-204.cs
------------
-
-User defined conditional logical operators; bug #40505.
-
-test-206.cs
------------
-
-Indexers; bug #46502.
-
-test-207.cs
------------
-
-Expressions which return delegates.
-
-test-208.cs
------------
-
-Indexers; bug #46788.
-
-test-209.cs
------------
-
-Embedded assignments; while fixing a bug and making a mistake, I discovered some
-problems during class libs compilation. Let's just add a testcase for them here.
-
-test-210.cs
------------
-
-Cast something to a delegate and then invoke it; bug #46923.
-
-test-211.cs
------------
-
-Multiple casts.
-
-test-212.cs
------------
-
-Params overload resolution with implicit user conversion
-
-test-213.cs
------------
-
-Unboxing struct from interface type; bug #47822.
-
-test-214.cs
------------
-
-Namespace lookups; bug #47853.
-
-test-215.cs
------------
-
-Namespace lookups; bug #47927.
-
-test-216.cs:
-------------
-Accessability bug fix #48710 on events
-
-test-217.cs
------------
-
->= and <= operators; bug #48679
-
-test-218.cs
------------
-Tests delegate creation inside an array; This exposed a bug in the
-fact that New is called for DoResolve twice from array initialization.
-Bug #48800
-
-test-219.cs:
-------------
-Tests that we can call typeof(void) in an attribtue delcaration, since
-we removed previously typeof (System.Void) as a valid way of referencing void.
-
-test-220.cs:
-------------
-Test for a bug in foreach, where it would pick the wrong GetEnumerator in a class.
-Bug # was 51446
-
-test-221.cs:
-------------
-Test for correct scanning for base properties.
-
-test-222.cs:
-------------
-Compilation test to check overload resolution. We should prefer int->uint over int->ulong.
-
-test-223.cs:
-------------
-This tests that conversions from Enum and ValueType to structs
-are treated as unboxing conversions, and the `unbox' opcode
-is emitted. #52569.
-
-test-224.cs:
-------------
-This tests the compilation of attributes with array parameters.
-
-test-229.cs:
-------------
-Test enumerating on:
-public class List : IEnumerable {
-
- public MyEnumerator GetEnumerator () {
- return new MyEnumerator(this);
- }
-
- IEnumerator IEnumerable.GetEnumerator () {
- ...
- }
-
- public struct MyEnumerator : IEnumerator {
- ...
- }
-}
-
-test-231.cs:
-------------
-Test for emitting callvirt when we need it.
-
-test-232.cs:
-------------
-Tests for {...}-style array creation
-
-test-233.cs:
-------------
-dup of basic-float.cs from mini, for bug 54303.
-
-test-234.cs:
-------------
-Switch statement on a [Flags] style enum. bug 55885.
-
-test-236.cs:
------------
-Test for bug #56300. DefaultMemberAttribute should not be created if a
-class has only private interface indexers.
-
-test-237.cs:
------------
-Test for bug #56442. Verify that delegate invocation and normal method
-invocation act the same when the 'params' keyword is used.
-
-test-290.cs:
------------
-Test for bug reported in
-
- http://lists.ximian.com/archives/public/mono-devel-list/2004-September/007777.html
-
-verify-1.cs
------------
-Test whether we do not jump out of the method in a Try/Finally block.
-
-verify-2.cs
------------
-Test whether `return' in a Try/Catch block actually returns. Test
-whether continue uses Leave when the branch is across Try/Catch
-boundaries.
-
-verify-3.cs
------------
-Checks default add/remove method of static events.
-
-verify-4.cs
------------
-When there's an unreachable break in a switch section, it must not emit a jump out of
-the method.
-
-verify-6.cs
------------
-Casts from/to System.Enum.
-
-unsafe-6.cs:
-------------
-Tests the correct computation of compound operators in the context of a pointer
-dereference on the left side.
-
-gen-1.cs:
----------
-
-Simple constructed type.
-
-gen-2.cs:
----------
-
-Type parameter as field.
-
-gen-3.cs:
----------
-
-Field of constructed type.
-
-gen-4.cs:
----------
-
-Method argument of constructed type.
-
-gen-5.cs:
----------
-
-Local variable of constructed type.
-
-gen-6.cs:
----------
-
-More complex example.
-
-gen-7.cs:
----------
-
-Constructed type deriving from a class type.
-
-gen-8.cs:
----------
-
-`where' clauses.
-
-gen-9.cs:
----------
-
-`where T : ICloneable' and then calling t.Clone ().
-
-gen-10.cs:
-----------
-
-`where T : I, J' - I is an inferface, J a class.
-
-gen-15.cs:
-----------
-
-Generic methods.
-
-2test-1.cs
-----------
-C# 2.0 Iterators: Enumerator and Enumerable with foreach
-
-2test-2.cs
-----------
-C# 2.0 Iterators: Obtaining the enumerator manually
-
-2test-3.cs
-----------
-C# 2.0 Iterators: Multi-dimensional arrays as arguments to iterator method
-
-2test-4.cs
-----------
-C# 2.0 Iterators: Use of a local variable in an enumerator.
-
-2test-5.cs
-----------
-Method group conversions for C# 2.0
-
-2test-6.cs
-----------
-Test iterators using foreach where you have to load the address of a struct
-
-2test-15.cs
------------
-Partial type with a destructor.
-
-pu-ip.cs, pu-pi.cs, pi.cs, pu.cs
---------------------------------
-Test that the order for internal/public in external assemblies does not
-affect the outcome of a build. Also checks that multiple `entry points'
-can be declared in a library. (eg, that it is not confused by two Main
-methods).
+++ /dev/null
-#!/usr/bin/perl -w
-
-my $gmcs = "gmcs";
-my $monodis = "monodis";
-my $mono = "mono";
-
-my @normal = qw[gen-1 gen-2 gen-3 gen-4 gen-5 gen-6 gen-7 gen-8 gen-9 gen-10 gen-11 gen-12
- gen-14 gen-15 gen-16 gen-18 gen-19 gen-20 gen-21 gen-22 gen-23 gen-24 gen-25
- gen-26 gen-27 gen-28 gen-29 gen-30 gen-32 gen-33 gen-34 gen-35 gen-36 gen-37
- gen-38 gen-39 gen-40 gen-41 gen-42 gen-43 gen-44 gen-45 gen-46 gen-48 gen-49
- gen-50 gen-51 gen-52 gen-53 gen-54 gen-55 gen-56 gen-58 gen-59 gen-60 gen-62
- gen-63 gen-64];
-my @compileonly = qw[];
-my @library = qw[gen-13 gen-17 gen-31 gen-47];
-
-sub RunTest
-{
- my ($quiet,@args) = @_;
- my $cmdline = join ' ', @args;
-
- $cmdline .= " > /dev/null" if $quiet;
-
- print "Running $cmdline\n";
-
- my $exitcode = system $cmdline;
- if ($exitcode != 0) {
- print "Command failed!\n";
- return 0;
- }
-
- return 1;
-}
-
-sub NormalTest
-{
- my ($file) = @_;
-
- my $cs = qq[$file.cs];
- my $exe = qq[$file.exe];
-
- RunTest (0, $gmcs, $cs) or return 0;
- RunTest (1, $monodis, $exe) or return 0;
- RunTest (1, $mono, $exe) or return 0;
-
- return 1;
-}
-
-sub CompileOnlyTest
-{
- my ($file) = @_;
-
- my $cs = qq[$file.cs];
- my $exe = qq[$file.exe];
-
- RunTest (0, $gmcs, $cs) or return 0;
-
- return 1;
-}
-
-sub LibraryTest
-{
- my ($file) = @_;
-
- my $cs_dll = qq[$file-dll.cs];
- my $dll = qq[$file-dll.dll];
- my $cs_exe = qq[$file-exe.cs];
- my $exe = qq[$file-exe.exe];
-
- RunTest (0, $gmcs, "/target:library", $cs_dll) or return 0;
- RunTest (1, $monodis, $dll) or return 0;
- RunTest (0, $gmcs, "/r:$dll", $cs_exe) or return 0;
- RunTest (1, $monodis, $exe) or return 0;
- RunTest (0, $mono, $exe) or return 0;
-}
-
-my @verify;
-push @verify, "cologne";
-push @verify, 'bin/peverify.sh';
-
-foreach my $file (@normal) {
- print "RUNNING TEST: $file\n";
- if (NormalTest ($file)) {
- print STDERR "TEST SUCCEEDED: $file\n";
- push @verify, qq[$file.exe];
- } else {
- print STDERR "TEST FAILED: $file\n";
- }
-}
-
-foreach my $file (@compileonly) {
- print "RUNNING COMPILATION ONLY TEST: $file\n";
- if (CompileOnlyTest ($file)) {
- print STDERR "TEST SUCCEEDED: $file\n";
- push @verify, qq[$file.exe];
- } else {
- print STDERR "TEST FAILED: $file\n";
- }
-}
-
-foreach my $file (@library) {
- print "RUNNING LIBRARY TEST: $file\n";
- if (LibraryTest ($file)) {
- print STDERR "TEST SUCCEEDED: $file\n";
- push @verify, qq[$file-dll.dll];
- push @verify, qq[$file-exe.exe];
- } else {
- print STDERR "TEST FAILED: $file\n";
- }
-}
-
-my $hostname = `hostname --fqdn`;
-chop $hostname;
-
-if ($hostname eq 'gondor.boston.ximian.com') {
- print STDERR "VERIFYING TESTS\n";
- RunTest (0, "ssh", @verify);
-}