Author: gert
Date: 2008-02-06 14:11:13 -0500 (Wed, 06 Feb 2008)
New Revision: 95062
Added:
trunk/gert/standalone/bug357565/
trunk/gert/standalone/bug357565/default.build
trunk/gert/standalone/bug357565/test.cs
trunk/gert/standalone/bug357565/web/
trunk/gert/standalone/bug357565/web/Default.aspx
trunk/gert/standalone/bug357565/web/Default.aspx.cs
trunk/gert/standalone/bug357565/web/Global.asax
Log:
Added test for bug #357565.
Added: trunk/gert/standalone/bug357565/default.build
===================================================================
--- trunk/gert/standalone/bug357565/default.build 2008-02-06 19:07:33 UTC
(rev 95061)
+++ trunk/gert/standalone/bug357565/default.build 2008-02-06 19:11:13 UTC
(rev 95062)
@@ -0,0 +1,51 @@
+<project name="bug357565" default="rebuild">
+ <include buildfile="../../build/common.build" />
+
+ <target name="mono-2.0-init">
+ <property name="xsp.package" value="xsp-2" />
+ </target>
+
+ <target name="net-2.0-init">
+ <property name="xsp.package" value="xsp-2" />
+ </target>
+
+ <property name="frameworks" value="mono-2.0,net-2.0" />
+
+ <target name="clean">
+ <delete>
+ <fileset>
+ <include name="web/app_end" />
+ <include name="web/app_offline.htm" />
+ <include name="web/app_start" />
+ <include name="out" />
+ <include name="test.exe" />
+ </fileset>
+ </delete>
+ </target>
+
+ <target name="compile" depends="init">
+ <csc target="exe" define="${csc.defines}" output="test.exe"
warnaserror="true" warninglevel="4">
+ <sources>
+ <include name="../../build/common/Assert.cs" />
+ <include name="test.cs" />
+ </sources>
+ <references>
+ <include name="System.Web.dll" />
+ </references>
+ </csc>
+ </target>
+
+ <target name="run-test" depends="compile">
+ <exec
program="${pkg-config::get-variable(xsp.package,'Executable')}" managed="true"
spawn="true" pidproperty="server.pid">
+ <arg value="--root" />
+ <arg dir="web" />
+ <arg value="--port" />
+ <arg value="8081" />
+ </exec>
+ <sleep milliseconds="1000" />
+ <exec program="test.exe" managed="true" output="out" />
+ <fail if="${file::exists('out')}" />
+ <kill pid="${server.pid}" />
+ <sleep milliseconds="1000" />
+ </target>
+</project>
Property changes on: trunk/gert/standalone/bug357565/default.build
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/gert/standalone/bug357565/test.cs
===================================================================
--- trunk/gert/standalone/bug357565/test.cs 2008-02-06 19:07:33 UTC (rev
95061)
+++ trunk/gert/standalone/bug357565/test.cs 2008-02-06 19:11:13 UTC (rev
95062)
@@ -0,0 +1,99 @@
+using System;
+using System.Globalization;
+using System.IO;
+using System.Net;
+using System.Text;
+using System.Threading;
+
+class Program
+{
+ static int Main ()
+ {
+ Thread.CurrentThread.CurrentCulture =
CultureInfo.InvariantCulture;
+ Thread.CurrentThread.CurrentUICulture =
CultureInfo.InvariantCulture;
+
+ string webDir = Path.Combine
(AppDomain.CurrentDomain.BaseDirectory,
+ "web");
+
+ HttpWebRequest request = (HttpWebRequest) WebRequest.Create
("http://localhost:8081/Default.aspx");
+ request.Method = "GET";
+
+ try {
+ HttpWebResponse response = (HttpWebResponse)
request.GetResponse ();
+ using (StreamReader sr = new StreamReader
(response.GetResponseStream (), Encoding.UTF8, true)) {
+ string result = sr.ReadToEnd ();
+
+ Assert.IsTrue (result.IndexOf ("<p>OK</p>") !=
-1, "#A1:" + result);
+ Assert.IsTrue (File.Exists (Path.Combine
(webDir, "app_start")), "#A2");
+ Assert.IsFalse (File.Exists (Path.Combine
(webDir, "app_end")), "#A3");
+ }
+ response.Close ();
+ } catch (WebException ex) {
+ HttpWebResponse response = (HttpWebResponse)
ex.Response;
+ if (response != null) {
+ using (StreamReader sr = new StreamReader
(response.GetResponseStream ())) {
+ Console.WriteLine (sr.ReadToEnd ());
+ }
+ }
+ return 1;
+ }
+
+ File.Create (Path.Combine (webDir, "app_offline.htm")).Close ();
+ Thread.Sleep (500);
+ Assert.IsTrue (File.Exists (Path.Combine (webDir,
"app_start")), "#B1");
+ Assert.IsTrue (File.Exists (Path.Combine (webDir, "app_end")),
"#B2");
+
+ request = (HttpWebRequest) WebRequest.Create
("http://localhost:8081/Default.aspx");
+ request.Method = "GET";
+
+ try {
+ request.GetResponse ();
+ return 2;
+ } catch (WebException ex) {
+ HttpWebResponse response = (HttpWebResponse)
ex.Response;
+ Assert.AreEqual (WebExceptionStatus.ProtocolError,
ex.Status, "#C1");
+ Assert.IsNotNull (response, "#C2");
+ Assert.AreEqual (HttpStatusCode.NotFound,
response.StatusCode, "#C3");
+ }
+
+ File.Delete (Path.Combine (webDir, "app_start"));
+ File.Delete (Path.Combine (webDir, "app_end"));
+ File.Delete (Path.Combine (webDir, "app_offline.htm"));
+ Thread.Sleep (500);
+
+ request = (HttpWebRequest) WebRequest.Create
("http://localhost:8081/Default.aspx");
+ request.Method = "GET";
+
+ try {
+ HttpWebResponse response = (HttpWebResponse)
request.GetResponse ();
+ using (StreamReader sr = new StreamReader
(response.GetResponseStream (), Encoding.UTF8, true)) {
+ string result = sr.ReadToEnd ();
+
+ Assert.IsTrue (result.IndexOf ("<p>OK</p>") !=
-1, "#D1:" + result);
+ Assert.IsTrue (File.Exists (Path.Combine
(webDir, "app_start")), "#D2");
+ Assert.IsFalse (File.Exists (Path.Combine
(webDir, "app_end")), "#D3");
+ }
+ response.Close ();
+ } catch (WebException ex) {
+ HttpWebResponse response = (HttpWebResponse)
ex.Response;
+ if (response != null) {
+ using (StreamReader sr = new StreamReader
(response.GetResponseStream ())) {
+ Console.WriteLine (sr.ReadToEnd ());
+ }
+ }
+ return 3;
+ }
+
+ Assert.IsTrue (File.Exists (Path.Combine (webDir,
"app_start")), "#E1");
+ Assert.IsFalse (File.Exists (Path.Combine (webDir, "app_end")),
"#E2");
+
+ File.Create (Path.Combine (webDir, "app_temp.htm")).Close ();
+ File.Move (Path.Combine (webDir, "app_temp.htm"), Path.Combine
(webDir, "app_offline.htm"));
+ Thread.Sleep (200);
+
+ Assert.IsTrue (File.Exists (Path.Combine (webDir,
"app_start")), "#E3");
+ Assert.IsTrue (File.Exists (Path.Combine (webDir, "app_end")),
"#E4");
+
+ return 0;
+ }
+}
Property changes on: trunk/gert/standalone/bug357565/test.cs
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/gert/standalone/bug357565/web/Default.aspx
===================================================================
--- trunk/gert/standalone/bug357565/web/Default.aspx 2008-02-06 19:07:33 UTC
(rev 95061)
+++ trunk/gert/standalone/bug357565/web/Default.aspx 2008-02-06 19:11:13 UTC
(rev 95062)
@@ -0,0 +1,13 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head runat="server">
+ <title>Untitled Page</title>
+</head>
+<body>
+ <form id="form1" runat="server">
+ <p>OK</p>
+ </form>
+</body>
+</html>
Property changes on: trunk/gert/standalone/bug357565/web/Default.aspx
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/gert/standalone/bug357565/web/Default.aspx.cs
===================================================================
--- trunk/gert/standalone/bug357565/web/Default.aspx.cs 2008-02-06 19:07:33 UTC
(rev 95061)
+++ trunk/gert/standalone/bug357565/web/Default.aspx.cs 2008-02-06 19:11:13 UTC
(rev 95062)
@@ -0,0 +1,13 @@
+using System;
+using System.Data;
+using System.Configuration;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+
+public partial class _Default : Page
+{
+}
Property changes on: trunk/gert/standalone/bug357565/web/Default.aspx.cs
___________________________________________________________________
Name: svn:eol-style
+ native
Added: trunk/gert/standalone/bug357565/web/Global.asax
===================================================================
--- trunk/gert/standalone/bug357565/web/Global.asax 2008-02-06 19:07:33 UTC
(rev 95061)
+++ trunk/gert/standalone/bug357565/web/Global.asax 2008-02-06 19:11:13 UTC
(rev 95062)
@@ -0,0 +1,16 @@
+<% @Application Language="C#" %>
+<%@ Import Namespace="System.IO" %>
+<script runat="server">
+ static string webDir = null;
+
+ void Application_Start(object o, EventArgs e)
+ {
+ webDir = Server.MapPath (".");
+ File.Create (Path.Combine (webDir, "app_start")).Close ();
+ }
+
+ void Application_End (object o, EventArgs e)
+ {
+ File.Create (Path.Combine (webDir, "app_end")).Close ();
+ }
+</script>
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches