2003-08-22 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / tests / README.tests
index e617e139053738c769c6e108d75d9be9a763123a..9979c023181ed004bf2b920548efd17054d4a06d 100644 (file)
@@ -1,13 +1,13 @@
 Test cases listed by Category:
 ==============================
 
-* Binary operators
+* Operators
 
-  test-146.cs
+  test-146.cs test-175.cs test-200.cs test-204.cs
 
 * Overloading
 
-  test-147.cs
+  test-147.cs test-173.cs
 
 * Try/Catch blocks
 
@@ -15,11 +15,11 @@ Test cases listed by Category:
 
 * Indexers and Properties
 
-  test-148.cs
+  test-148.cs test-166.cs test-206.cs test-208.cs test-209.cs
 
 * Events and Delegates
 
-  test-149.cs verify-3.cs
+  test-149.cs test-164.cs verify-3.cs
 
 * Constant Folding
 
@@ -27,19 +27,43 @@ Test cases listed by Category:
 
 * Switch blocks
 
-  test-152.cs
+  test-152.cs test-193.cs verify-4.cs
 
 * Member Access & Simple Names
 
-  test-151.cs
+  test-151.cs test-159.cs test-160.cs test-161.cs test-190.cs
 
-* Invocation
+* Invocation and Casts
 
-  test-153.cs
+  test-153.cs test-163.c test-207.cs test-210.cs test-211.cs
 
 * Flow Analysis
 
-  test-154.cs error-1.cs
+  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 
+
+* Arrays and array creation
+
+  test-165.cs, test-167.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 cases listed by Number:
 ============================
@@ -86,9 +110,259 @@ test-154.cs
 -----------
 Flow analysis: This test contains all situations which are "allowed".
 
-error-1.cs
-----------
-Flow analysis: Check whether mcs correctly reports all errors.
+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
 
 verify-1.cs
 -----------
@@ -103,3 +377,18 @@ 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.
+