We&#39;re NUnit and TypeMock.<br><br><div class="gmail_quote">On Thu, Oct 23, 2008 at 4:38 PM, Dino Viehland <span dir="ltr">&lt;<a href="mailto:dinov@microsoft.com">dinov@microsoft.com</a>&gt;</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?&nbsp; 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>&nbsp;
</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">&nbsp;</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">&nbsp;</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">&nbsp;</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>&nbsp;</p>

<p>The test below fails (see stacktrace). &nbsp;If I take the
exact same code and execute from a running program,it works just fine. &nbsp;</p>

<div>

<p>Any suggestions,</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>TIA</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>Matt B.</p>

<div>

<p>&nbsp;</p>

</div>

<div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;[Test]</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public void Statements()</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var e = new
IPEngine();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;e.Scope.SetVariable(&quot;x&quot;,&quot;testing&quot;);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var script =
&quot;import System\nfrom System import *\nx = &#39;kosher&#39;\nprint &#39;test&#39;&quot;;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;e.Execute(script);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;Assert.AreEqual(&quot;kosher&quot;,e.Scope.GetVariable&lt;string&gt;(&quot;x&quot;));</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<div>

<p>failed: System.InvalidProgramException : Common Language
Runtime detected an invalid program.</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
Microsoft.Scripting.Actions.CallSite`1.UpdateAndExecute(Object[] args)</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
IronPython.Runtime.Importer.Import(CodeContext context, String fullName,
PythonTuple from, Int32 level)</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
IronPython.Runtime.Operations.PythonOps.ImportTop(CodeContext context, String
fullName, Int32 level)</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
&lt;module&gt;$1##1(Closure , Scope , LanguageContext )</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
Microsoft.Scripting.Runtime.OptimizedScriptCode.InvokeTarget(LambdaExpression
code, Scope scope)</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
Microsoft.Scripting.ScriptCode.Run(Scope scope)</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at Microsoft.Scripting.SourceUnit.Execute(Scope
scope, ErrorSink errorSink)</p>

</div>

<div>

<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>at
Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope scope)</p>

</div>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<div>

<p>&nbsp;&nbsp; &nbsp;public class IPEngine</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;#region Member Vars</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;private readonly
ScriptEngine engine;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;private readonly
ScriptScope scope;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;private MemoryStream ms;</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;#endregion Member Vars</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public IPEngine()</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;engine =
Python.CreateEngine();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;engine.ImportModule(&quot;clr&quot;);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;engine.Runtime.LoadAssembly(typeof(System.String).Assembly);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;scope =
Engine.CreateScope();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public ScriptEngine Engine</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;get { return
engine; }</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public ScriptScope Scope</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;get { return
scope; }</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public void SetupOutput()</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ms = new
MemoryStream();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;engine.Runtime.IO.SetOutput(ms, Encoding.UTF8);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;//engine.Runtime.IO.SetErrorOutput(ms, Encoding.UTF8);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/// &lt;summary&gt;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/// Evaluates a single
expressoin</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/// &lt;/summary&gt;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/// &lt;typeparam
name=&quot;T&quot;&gt;Return Type&lt;/typeparam&gt;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;/// &lt;param
name=&quot;expression&quot;&gt;Expressions to Eval&lt;/param&gt;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;///
&lt;returns&gt;T&lt;/returns&gt;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public T
Eval&lt;T&gt;(string expression)</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;SetupOutput();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var source =
Engine.CreateScriptSourceFromString(expression, SourceCodeKind.Expression);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return
source.Execute&lt;T&gt;(Scope);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public void Execute(string
statements)</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;SetupOutput();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var source =
engine.CreateScriptSourceFromString(statements, SourceCodeKind.Statements);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;source.Execute(scope);</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;public string Output</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;get</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;using (var sr = new StreamReader(ms))</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;{</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;ms.Position = 0;</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp;return sr.ReadToEnd();</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;}</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</p>

</div>

<div>

<p>&nbsp;&nbsp; &nbsp;}</p>

</div>

</div>

<div>

<p>&nbsp;</p>

</div>

<div>

<p>&nbsp;</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>