Author: gert
Date: 2007-10-17 16:48:40 -0400 (Wed, 17 Oct 2007)
New Revision: 87711

Added:
   trunk/gert/standalone/bug325303/
   trunk/gert/standalone/bug325303/default.build
   trunk/gert/standalone/bug325303/test.cs
   trunk/gert/standalone/bug325303/web/
   trunk/gert/standalone/bug325303/web/Default.aspx
   trunk/gert/standalone/bug325303/web/Default.aspx.cs
   trunk/gert/standalone/bug333082/
   trunk/gert/standalone/bug333082/default.build
   trunk/gert/standalone/bug333082/test.cs
Modified:
   trunk/gert/standalone/bug318854/default.build
   trunk/gert/standalone/bug326011/default.build
   trunk/gert/standalone/bug333901/default.build
   trunk/gert/standalone/bug66630/default.build
   trunk/gert/standalone/known-issues
Log:
Added some tests.


Modified: trunk/gert/standalone/bug318854/default.build
===================================================================
--- trunk/gert/standalone/bug318854/default.build       2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug318854/default.build       2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -42,7 +42,7 @@
        </target>
 
        <target name="compile">
-               <csc target="exe" output="test.exe" warnaserror="true" 
warninglevel="4">
+               <csc target="exe" output="test.exe" define="${csc.defines}" 
warnaserror="true" warninglevel="4">
                        <sources>
                                <include name="test.cs" />
                        </sources>

Added: trunk/gert/standalone/bug325303/default.build
===================================================================
--- trunk/gert/standalone/bug325303/default.build       2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug325303/default.build       2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -0,0 +1,71 @@
+<project name="bug325303" default="rebuild">
+       <target name="mono-1.0">
+               <property name="csc.defines" 
value="NET_1_0,NET_1_1,ONLY_1_1,MONO" />
+       </target>
+
+       <target name="mono-2.0">
+               <property name="csc.defines" 
value="NET_1_0,NET_1_1,NET_2_0,ONLY_2_0,MONO" />
+       </target>
+
+       <target name="net-1.1">
+               <property name="csc.defines" value="NET_1_0,NET_1_1,ONLY_1_1" />
+       </target>
+
+       <target name="net-2.0">
+               <property name="csc.defines" 
value="NET_1_0,NET_1_1,NET_2_0,ONLY_2_0" />
+       </target>
+
+       <property name="frameworks" value="mono-1.0,mono-2.0,net-1.1,net-2.0" />
+
+       <target name="clean">
+               <delete>
+                       <fileset>
+                               <include name="web/bin/**" />
+                               <include name="out" />
+                               <include name="test.exe" />
+                       </fileset>
+               </delete>
+       </target>
+
+       <target name="build">
+               <property name="original.targetframework" 
value="${nant.settings.currentframework}" />
+
+               <foreach property="framework" item="String" in="${frameworks}" 
delim=",">
+                       <if test="${framework::exists(framework)}">
+                               <property name="nant.settings.currentframework" 
value="${framework}" />
+                               <call 
target="${nant.settings.currentframework}" />
+                               <call target="run" />
+                               <call target="clean" />
+                       </if>
+               </foreach>
+
+               <property name="nant.settings.currentframework" 
value="${original.targetframework}" />
+       </target>
+
+       <target name="compile">
+               <mkdir dir="web/bin" />
+               <csc target="library" define="${csc.defines}" 
output="web/bin/Mono.Web.dll" warnaserror="true" warninglevel="4">
+                       <sources basedir="web">
+                               <include name="Default.aspx.cs" />
+                       </sources>
+                       <references>
+                               <include name="System.Web.dll" />
+                       </references>
+               </csc>
+               <csc target="exe" define="${csc.defines}" output="test.exe" 
warnaserror="true" warninglevel="4">
+                       <sources>
+                               <include name="test.cs" />
+                       </sources>
+                       <references>
+                               <include name="System.Web.dll" />
+                       </references>
+               </csc>
+       </target>
+
+       <target name="run" depends="compile">
+               <exec program="test.exe" managed="true" output="out" />
+               <fail if="${file::exists('out')}" />
+       </target>
+
+       <target name="rebuild" depends="clean, build" />
+</project>


Property changes on: trunk/gert/standalone/bug325303/default.build
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/gert/standalone/bug325303/test.cs
===================================================================
--- trunk/gert/standalone/bug325303/test.cs     2007-10-17 20:40:18 UTC (rev 
87710)
+++ trunk/gert/standalone/bug325303/test.cs     2007-10-17 20:48:40 UTC (rev 
87711)
@@ -0,0 +1,46 @@
+using System;
+using System.IO;
+using System.Web;
+using System.Web.Hosting;
+
+class TinyHost : MarshalByRefObject
+{
+       static TinyHost CreateHost ()
+       {
+               string path = Path.Combine 
(AppDomain.CurrentDomain.BaseDirectory, "web");
+               string bin = Path.Combine (path, "bin");
+               string asm = Path.GetFileName (typeof 
(TinyHost).Assembly.Location);
+
+               Directory.CreateDirectory (bin);
+               File.Copy (asm, Path.Combine (bin, asm), true);
+
+               return (TinyHost) ApplicationHost.CreateApplicationHost (
+                       typeof (TinyHost), "/", path);
+       }
+
+       public void Execute (string page, TextWriter tw)
+       {
+               SimpleWorkerRequest req = new SimpleWorkerRequest (
+                       page, "", tw);
+               HttpRuntime.ProcessRequest (req);
+       }
+
+       static int Main ()
+       {
+               TinyHost h = CreateHost ();
+               StringWriter sw = new StringWriter ();
+               h.Execute ("Default.aspx", sw);
+               string result = sw.ToString ();
+
+#if NET_2_0
+               if (result.IndexOf ("<td>Test cell is visible</td>") != -1) {
+#else
+               if (result.IndexOf ("<td>Test cell is visible</td>") == -1) {
+#endif
+                       Console.WriteLine (result);
+                       return 1;
+               }
+
+               return 0;
+       }
+}


Property changes on: trunk/gert/standalone/bug325303/test.cs
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/gert/standalone/bug325303/web/Default.aspx
===================================================================
--- trunk/gert/standalone/bug325303/web/Default.aspx    2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug325303/web/Default.aspx    2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -0,0 +1,12 @@
+<%@ Page Language="C#" Inherits="_Default" codebehind="Default.aspx.cs" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html>
+<head>
+       <title>Test case for Table Visble tag</title>
+</head>
+<body>
+       <form id="form1" runat="server">
+               <table runat="server" id="Table1" EnableViewState="false" 
Visible="false"></table>
+       </form>
+</body>
+</html>


Property changes on: trunk/gert/standalone/bug325303/web/Default.aspx
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/gert/standalone/bug325303/web/Default.aspx.cs
===================================================================
--- trunk/gert/standalone/bug325303/web/Default.aspx.cs 2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug325303/web/Default.aspx.cs 2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -0,0 +1,18 @@
+using System.Web.UI;
+using System.Web.UI.HtmlControls;
+
+public class _Default : Page
+{
+       protected HtmlTable Table1;
+
+       protected override void Render (HtmlTextWriter writer)
+       {
+               HtmlTableRow row = new HtmlTableRow ();
+               HtmlTableCell cell = new HtmlTableCell ();
+               cell.InnerHtml = "Test cell is visible";
+               row.Cells.Add (cell);
+               Table1.Rows.Add (row);
+               Table1.Visible = true;
+               Table1.RenderControl (writer);
+       }
+}


Property changes on: trunk/gert/standalone/bug325303/web/Default.aspx.cs
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/gert/standalone/bug326011/default.build
===================================================================
--- trunk/gert/standalone/bug326011/default.build       2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug326011/default.build       2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -42,7 +42,7 @@
        </target>
 
        <target name="compile">
-               <csc target="exe" output="test.exe" warnaserror="true" 
warninglevel="4">
+               <csc target="exe" output="test.exe" define="${csc.defines}" 
warnaserror="true" warninglevel="4">
                        <sources>
                                <include name="test.cs" />
                        </sources>

Added: trunk/gert/standalone/bug333082/default.build
===================================================================
--- trunk/gert/standalone/bug333082/default.build       2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug333082/default.build       2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -0,0 +1,61 @@
+<project name="bug333082" default="rebuild">
+       <target name="mono-1.0">
+               <property name="csc.defines" 
value="NET_1_0,NET_1_1,ONLY_1_1,MONO" />
+       </target>
+
+       <target name="mono-2.0">
+               <property name="csc.defines" 
value="NET_1_0,NET_1_1,NET_2_0,ONLY_2_0,MONO" />
+       </target>
+
+       <target name="net-1.1">
+               <property name="csc.defines" value="NET_1_0,NET_1_1,ONLY_1_1" />
+       </target>
+
+       <target name="net-2.0">
+               <property name="csc.defines" 
value="NET_1_0,NET_1_1,NET_2_0,ONLY_2_0" />
+       </target>
+
+       <property name="frameworks" value="mono-1.0,mono-2.0,net-1.1,net-2.0" />
+
+       <target name="clean">
+               <delete>
+                       <fileset>
+                               <include name="out" />
+                               <include name="test.exe" />
+                       </fileset>
+               </delete>
+       </target>
+
+       <target name="build">
+               <property name="original.targetframework" 
value="${nant.settings.currentframework}" />
+
+               <foreach property="framework" item="String" in="${frameworks}" 
delim=",">
+                       <if test="${framework::exists(framework)}">
+                               <property name="nant.settings.currentframework" 
value="${framework}" />
+                               <call 
target="${nant.settings.currentframework}" />
+                               <call target="run" />
+                               <call target="clean" />
+                       </if>
+               </foreach>
+
+               <property name="nant.settings.currentframework" 
value="${original.targetframework}" />
+       </target>
+
+       <target name="compile">
+               <csc target="exe" define="${csc.defines}" output="test.exe" 
warnaserror="true" warninglevel="4">
+                       <sources>
+                               <include name="test.cs" />
+                       </sources>
+                       <references>
+                               <include name="System.Data.dll" />
+                       </references>
+               </csc>
+       </target>
+
+       <target name="run" depends="compile">
+               <exec program="test.exe" managed="true" output="out" />
+               <fail if="${file::exists('out')}" />
+       </target>
+
+       <target name="rebuild" depends="clean, build" />
+</project>


Property changes on: trunk/gert/standalone/bug333082/default.build
___________________________________________________________________
Name: svn:eol-style
   + native

Added: trunk/gert/standalone/bug333082/test.cs
===================================================================
--- trunk/gert/standalone/bug333082/test.cs     2007-10-17 20:40:18 UTC (rev 
87710)
+++ trunk/gert/standalone/bug333082/test.cs     2007-10-17 20:48:40 UTC (rev 
87711)
@@ -0,0 +1,152 @@
+using System;
+using System.Data;
+using System.Data.SqlClient;
+using System.Text;
+
+class Program
+{
+       [STAThread]
+       static int Main ()
+       {
+               SqlConnection conn = new SqlConnection (CreateConnectionString 
());
+               conn.Open ();
+
+               IsolationLevel level = GetIsolationLevel (conn, null);
+               if (level != IsolationLevel.ReadCommitted)
+                       return 1;
+
+               ChangeIsolationLevel (conn, null, "SERIALIZABLE");
+
+               level = GetIsolationLevel (conn, null);
+               if (level != IsolationLevel.Serializable)
+                       return 2;
+
+               SqlTransaction trans = conn.BeginTransaction ();
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.ReadCommitted)
+                       return 3;
+               if (trans.IsolationLevel != IsolationLevel.ReadCommitted)
+                       return 4;
+               ChangeIsolationLevel (conn, trans, "SERIALIZABLE");
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.Serializable)
+                       return 5;
+               if (trans.IsolationLevel != IsolationLevel.ReadCommitted)
+                       return 6;
+               trans.Rollback ();
+
+#if NET_2_0
+               trans = conn.BeginTransaction (IsolationLevel.Unspecified);
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.ReadCommitted)
+                       return 7;
+               if (trans.IsolationLevel != IsolationLevel.ReadCommitted)
+                       return 8;
+               ChangeIsolationLevel (conn, trans, "SERIALIZABLE");
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.Serializable)
+                       return 9;
+               if (trans.IsolationLevel != IsolationLevel.ReadCommitted)
+                       return 10;
+               trans.Rollback ();
+#endif
+
+               trans = conn.BeginTransaction (IsolationLevel.RepeatableRead);
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.RepeatableRead)
+                       return 11;
+               if (trans.IsolationLevel != IsolationLevel.RepeatableRead)
+                       return 12;
+               ChangeIsolationLevel (conn, trans, "SERIALIZABLE");
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.Serializable)
+                       return 13;
+               if (trans.IsolationLevel != IsolationLevel.RepeatableRead)
+                       return 14;
+               trans.Rollback ();
+
+#if NET_2_0
+               trans = conn.BeginTransaction (IsolationLevel.Snapshot);
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.Snapshot)
+                       return 15;
+               if (trans.IsolationLevel != IsolationLevel.Snapshot)
+                       return 16;
+               ChangeIsolationLevel (conn, trans, "SERIALIZABLE");
+               level = GetIsolationLevel (conn, trans);
+               if (level != IsolationLevel.Serializable)
+                       return 17;
+               if (trans.IsolationLevel != IsolationLevel.Snapshot)
+                       return 18;
+               trans.Rollback ();
+#endif
+
+               return 0;
+       }
+
+       static IsolationLevel GetIsolationLevel (SqlConnection conn, 
SqlTransaction trans)
+       {
+               SqlCommand cmd = new SqlCommand ("DBCC USEROPTIONS", conn, 
trans);
+
+               using (SqlDataReader dr = cmd.ExecuteReader ()) {
+                       while (dr.Read ()) {
+                               string setOption = dr.GetString (0);
+                               if (setOption != "isolation level")
+                                       continue;
+
+                               string isolationLevel = dr.GetString (1);
+                               switch (isolationLevel) {
+                               case "read committed":
+                                       return IsolationLevel.ReadCommitted;
+                               case "repeatable read":
+                                       return IsolationLevel.RepeatableRead;
+                               case "serializable":
+                                       return IsolationLevel.Serializable;
+#if NET_2_0
+                               case "snapshot":
+                                       return IsolationLevel.Snapshot;
+#endif
+                               default:
+                                       throw new Exception (isolationLevel);
+                               }
+                       }
+                       throw new Exception ("Unable to determine isolation 
level.");
+               }
+       }
+
+       static void ChangeIsolationLevel (SqlConnection conn, SqlTransaction 
trans, string isolationLevel)
+       {
+               SqlCommand cmd = new SqlCommand ("SET TRANSACTION ISOLATION 
LEVEL "
+                       + isolationLevel, conn, trans);
+               cmd.ExecuteNonQuery ();
+       }
+
+       static string CreateConnectionString ()
+       {
+               StringBuilder sb = new StringBuilder ();
+
+               string serverName = Environment.GetEnvironmentVariable 
("MONO_TESTS_SQL_HOST");
+               if (serverName == null)
+                       throw CreateEnvironmentVariableNotSetException 
("MONO_TESTS_SQL_HOST");
+
+               string dbName = Environment.GetEnvironmentVariable 
("MONO_TESTS_SQL_DB");
+               if (dbName == null)
+                       throw CreateEnvironmentVariableNotSetException 
("MONO_TESTS_SQL_DB");
+
+               sb.AppendFormat ("server={0};database={1};", serverName, 
dbName);
+
+               string userName = Environment.GetEnvironmentVariable 
("MONO_TESTS_SQL_USER");
+               if (userName != null)
+                       sb.AppendFormat ("user id={0};", userName);
+
+               string pwd = Environment.GetEnvironmentVariable 
("MONO_TESTS_SQL_PWD");
+               if (pwd != null)
+                       sb.AppendFormat ("pwd={0};", pwd);
+               return sb.ToString ();
+       }
+
+       static ArgumentException CreateEnvironmentVariableNotSetException 
(string name)
+       {
+               return new ArgumentException ("The " + name + " environment 
variable is not set");
+       }
+}


Property changes on: trunk/gert/standalone/bug333082/test.cs
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/gert/standalone/bug333901/default.build
===================================================================
--- trunk/gert/standalone/bug333901/default.build       2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug333901/default.build       2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -42,7 +42,7 @@
        </target>
 
        <target name="compile">
-               <csc target="exe" output="test.exe" warnaserror="true" 
warninglevel="4">
+               <csc target="exe" output="test.exe" define="${csc.defines}" 
warnaserror="true" warninglevel="4">
                        <sources>
                                <include name="test.cs" />
                        </sources>

Modified: trunk/gert/standalone/bug66630/default.build
===================================================================
--- trunk/gert/standalone/bug66630/default.build        2007-10-17 20:40:18 UTC 
(rev 87710)
+++ trunk/gert/standalone/bug66630/default.build        2007-10-17 20:48:40 UTC 
(rev 87711)
@@ -42,7 +42,7 @@
        </target>
 
        <target name="compile">
-               <csc target="exe" output="test.exe" warnaserror="true" 
warninglevel="4">
+               <csc target="exe" output="test.exe" define="${csc.defines}" 
warnaserror="true" warninglevel="4">
                        <sources>
                                <include name="test.cs" />
                        </sources>

Modified: trunk/gert/standalone/known-issues
===================================================================
--- trunk/gert/standalone/known-issues  2007-10-17 20:40:18 UTC (rev 87710)
+++ trunk/gert/standalone/known-issues  2007-10-17 20:48:40 UTC (rev 87711)
@@ -81,6 +81,7 @@
 bug320964/**
 bug324536/**
 bug325181/**
+bug325303/**
 bug325809/**
 bug326288/**
 bug327438/**

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to