We're NUnit and TypeMock.<br><br><div class="gmail_quote">On Thu, Oct 23, 2008 at 4:38 PM, Dino Viehland <span dir="ltr"><<a href="mailto:dinov@microsoft.com">dinov@microsoft.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p><span style="font-size:11.0pt;color:#1F497D">Are you using NUnit or NDepend? There's an issue (that we
believe is related to how the assemblies are being loaded) which we haven't tracked
down just yet: <a href="http://www.mail-archive.com/users@lists.ironpython.com/msg07328.html" target="_blank">http://www.mail-archive.com/users@lists.ironpython.com/msg07328.html</a>
</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D">Running the same code outside of NUnit or NDepend should work.</span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt">
<a href="mailto:users-bounces@lists.ironpython.com" target="_blank">users-bounces@lists.ironpython.com</a> [mailto:<a href="mailto:users-bounces@lists.ironpython.com" target="_blank">users-bounces@lists.ironpython.com</a>] <b>On
Behalf Of </b>Matt Beckius<br>
<b>Sent:</b> Thursday, October 23, 2008 1:30 PM<br>
<b>To:</b> <a href="mailto:users@lists.ironpython.com" target="_blank">users@lists.ironpython.com</a><br>
<b>Subject:</b> [IronPython] Error only from Test Case</span></p>
</div><div><div></div><div class="Wj3C7c">
<p> </p>
<p>The test below fails (see stacktrace). If I take the
exact same code and execute from a running program,it works just fine. </p>
<div>
<p>Any suggestions,</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>TIA</p>
</div>
<div>
<p> </p>
</div>
<div>
<p>Matt B.</p>
<div>
<p> </p>
</div>
<div>
<div>
<p> [Test]</p>
</div>
<div>
<p> public void Statements()</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> var e = new
IPEngine();</p>
</div>
<div>
<p>
e.Scope.SetVariable("x","testing");</p>
</div>
<div>
<p> var script =
"import System\nfrom System import *\nx = 'kosher'\nprint 'test'";</p>
</div>
<div>
<p>
e.Execute(script);</p>
</div>
<div>
<p>
Assert.AreEqual("kosher",e.Scope.GetVariable<string>("x"));</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> </p>
</div>
<div>
<div>
<p>failed: System.InvalidProgramException : Common Language
Runtime detected an invalid program.</p>
</div>
<div>
<p><span> </span>at
Microsoft.Scripting.Actions.MatchCaller.Call6[T0,T1,T2,T3,T4,T5,TRet](Func`8
target, CallSite site, Object[] args)</p>
</div>
<div>
<p><span> </span>at
Microsoft.Scripting.Actions.CallSite`1.UpdateAndExecute(Object[] args)</p>
</div>
<div>
<p><span> </span>at
Microsoft.Scripting.Actions.UpdateDelegates.Update6[T,T0,T1,T2,T3,T4,T5,TRet](CallSite
site, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)</p>
</div>
<div>
<p><span> </span>at
IronPython.Runtime.Importer.Import(CodeContext context, String fullName,
PythonTuple from, Int32 level)</p>
</div>
<div>
<p><span> </span>at
IronPython.Runtime.Operations.PythonOps.ImportTop(CodeContext context, String
fullName, Int32 level)</p>
</div>
<div>
<p><span> </span>at
<module>$1##1(Closure , Scope , LanguageContext )</p>
</div>
<div>
<p><span> </span>at
Microsoft.Scripting.Runtime.OptimizedScriptCode.InvokeTarget(LambdaExpression
code, Scope scope)</p>
</div>
<div>
<p><span> </span>at
Microsoft.Scripting.ScriptCode.Run(Scope scope)</p>
</div>
<div>
<p><span> </span>at Microsoft.Scripting.SourceUnit.Execute(Scope
scope, ErrorSink errorSink)</p>
</div>
<div>
<p><span> </span>at
Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)</p>
</div>
</div>
<div>
<p> </p>
</div>
<div>
<div>
<p> public class IPEngine</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> #region Member Vars</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> private readonly
ScriptEngine engine;</p>
</div>
<div>
<p> private readonly
ScriptScope scope;</p>
</div>
<div>
<p> private MemoryStream ms;</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> #endregion Member Vars</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> public IPEngine()</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> engine =
Python.CreateEngine();</p>
</div>
<div>
<p>
engine.ImportModule("clr");</p>
</div>
<div>
<p> engine.Runtime.LoadAssembly(typeof(System.String).Assembly);</p>
</div>
<div>
<p> scope =
Engine.CreateScope();</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> public ScriptEngine Engine</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> get { return
engine; }</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> public ScriptScope Scope</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> get { return
scope; }</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> public void SetupOutput()</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> ms = new
MemoryStream();</p>
</div>
<div>
<p>
engine.Runtime.IO.SetOutput(ms, Encoding.UTF8);</p>
</div>
<div>
<p>
//engine.Runtime.IO.SetErrorOutput(ms, Encoding.UTF8);</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> /// <summary></p>
</div>
<div>
<p> /// Evaluates a single
expressoin</p>
</div>
<div>
<p> /// </summary></p>
</div>
<div>
<p> /// <typeparam
name="T">Return Type</typeparam></p>
</div>
<div>
<p> /// <param
name="expression">Expressions to Eval</param></p>
</div>
<div>
<p> ///
<returns>T</returns></p>
</div>
<div>
<p> public T
Eval<T>(string expression)</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p>
SetupOutput();</p>
</div>
<div>
<p> var source =
Engine.CreateScriptSourceFromString(expression, SourceCodeKind.Expression);</p>
</div>
<div>
<p> return
source.Execute<T>(Scope);</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> public void Execute(string
statements)</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p>
SetupOutput();</p>
</div>
<div>
<p> var source =
engine.CreateScriptSourceFromString(statements, SourceCodeKind.Statements);</p>
</div>
<div>
<p>
source.Execute(scope);</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> </p>
</div>
<div>
<p> public string Output</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p> get</p>
</div>
<div>
<p> {</p>
</div>
<div>
<p>
using (var sr = new StreamReader(ms))</p>
</div>
<div>
<p>
{</p>
</div>
<div>
<p>
ms.Position = 0;</p>
</div>
<div>
<p>
return sr.ReadToEnd();</p>
</div>
<div>
<p>
}</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> }</p>
</div>
<div>
<p> }</p>
</div>
</div>
<div>
<p> </p>
</div>
<div>
<p> </p>
</div>
</div>
</div>
</div></div></div>
</div>
<br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.ironpython.com">Users@lists.ironpython.com</a><br>
<a href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com" target="_blank">http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a><br>
<br></blockquote></div><br>