It appears that Attributes.dll must be in the nunit binary directory in
order for the test binaries which depend on it to be loaded.
Otherwise, all nunit front ends blow up with the above exception.  On
the other hand, with Attributes.dll in the nunit binary directory, only
nunit-console-x86.exe blows up.

I understand what you are saying and I agree that the behavior you are
describing should be how it works.  I didn't expect to have to copy that
file there. However, it is not what I am seeing, hence the bug.  Also,
the behavior is not consistent between nunit-console.exe and nunit-
console-x86.exe (nunit-x86.exe seems to be able to deal with this [with
Attributes.dll in the nunit binary directory none the less]
appropriately).

I put together the attached bare bones solution to illustrate a
reproducible test case.  Do you think it's worth taking a look?

-- 
You received this bug notification because you are a member of NUnit
Developers, which is subscribed to NUnit V2.
https://bugs.launchpad.net/bugs/796880

Title:
  nunit-concole-x86 unable to load external library on which test suite
  depends on

Status in NUnit V2 Test Framework:
  Invalid

Bug description:
  Version: 2.5.10.11092
  OS: Win7 64bit
  Mode: 32bit

  Environment:
  Solution with two projects:
  1. Consists of only one test which references attributes defined in project 2
  2. Consists of attributes only

  Sample solution provided @ Solution\Tests\Tests.sln

  Instructions to reproduce:
  1. Compile solution
  2. Copy Attributes.dll to nunit binary directory
  3. Run nunit-console-x86.exe Tests.dll (from the Debug\Tests directory)

  Results:

  #########################################X86##############################
  
c:\Users\koblucki\Desktop\Tests\bin\Debug>c:\temp\Tools\NUnit\bin\net-2.0\nunit-console-x86.exe
 /trace=Verbose /framework=4.0 Tests.dll
  NUnit version 2.5.10.11092
  Copyright (C) 2002-2009 Charlie Poole.
  Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
  Copyright (C) 2000-2002 Philip Craig.
  All Rights Reserved.

  Runtime Environment -
     OS Version: Microsoft Windows NT 6.1.7600.0
    CLR Version: 2.0.50727.4959 ( Net 2.0 )

  ProcessModel: Default    DomainUsage: Single
  Execution Runtime: v4.0
  Unhandled Exception:
  System.Runtime.Serialization.SerializationException: Unable to find assembly 
'Attributes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

  Server stack trace:
     at 
System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
     at 
System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo
 assemblyInfo, String name)
     at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String 
objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] 
typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 
objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
     at System.Runtime.Serialization.Formatters.Binary.ObjectMap.Create(String 
name, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] 
typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 
objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
     at 
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped
 record)
     at 
System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryHeaderEnum
 binaryHeaderEnum)
     at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
     at 
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler
 handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, 
IMethodCallMessage methodCallMessage)
     at 
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
 serializationStream, HeaderHandler handler, Boolean fCheck, Boolean 
isCrossAppDomain, IMethodCallMessage methodCallMessage)
     at 
System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryResponseMessage(Stream
 inputStream, IMethodCallMessage reqMsg, Boolean bStrictBinding)
     at 
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.DeserializeMessage(IMethodCallMessage
 mcm, ITransportHeaders headers, Stream stream)
     at 
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage
 msg)

  Exception rethrown at [0]:
     at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage 
reqMsg, IMessage retMsg)
     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& 
msgData, Int32 type)
     at NUnit.Core.TestRunner.get_Test()
     at NUnit.Core.ProxyTestRunner.get_Test()
     at NUnit.ConsoleRunner.ConsoleUi.Execute(ConsoleOptions options)
     at NUnit.ConsoleRunner.Runner.Main(String[] args)

  ##################################END
  X86#################################

  
c:\Users\koblucki\Desktop\Tests\bin\Debug>c:\temp\Tools\NUnit\bin\net-2.0\nunit-console.exe
 /trace=Verbose /framework=4.0 Tests.dll
  NUnit version 2.5.10.11092
  Copyright (C) 2002-2009 Charlie Poole.
  Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
  Copyright (C) 2000-2002 Philip Craig.
  All Rights Reserved.

  Runtime Environment -
     OS Version: Microsoft Windows NT 6.1.7600.0
    CLR Version: 4.0.30319.225 ( Net 4.0 )

  ProcessModel: Default    DomainUsage: Single
  Execution Runtime: v4.0
  .Started Tests.UnitTests.RunTest
  Finished Tests.UnitTests.RunTest on KOBLUCKI-WS1

  Tests run: 1, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.048 seconds
    Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0

To manage notifications about this bug go to:
https://bugs.launchpad.net/nunitv2/+bug/796880/+subscriptions

_______________________________________________
Mailing list: https://launchpad.net/~nunit-core
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~nunit-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to