This is a migrated thread and some comments may be shown as answers.

How to run JustMock elevated features as part of a TeamCity build? I need to enable profiler

22 Answers 602 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Chris
Top achievements
Rank 1
Chris asked on 30 Aug 2011, 09:43 AM
Hi

I've just got up and running with JustMock to perform tests that need to isolate Microsoft's Exchange Services API, which contains many sealed and internal classes, and so requires the elevated mode in Visual Studio to enable the profiler.  

Right now these tests are failing my Continuous Integration build on TeamCity because I need to enable the profiler.

Please can you advise on how to get this up and running.

Stack trace is as follows:

Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

   at Telerik.JustMock.MockManager.CreateInstance(Container container)

   at Telerik.JustMock.MockManager.SetupMock(Behavior behavior, Boolean static)

   at Telerik.JustMock.MockManager.CreateInstance()

   at Telerik.JustMock.Mock.Create(Type target, Behavior behavior, Object[] args)

   at Telerik.JustMock.Mock.Create(Type target, Object[] args)

   at Telerik.JustMock.Mock.Create[T]()


Thanks,

Chris

FWIW: I'm currently running a private build of JustMock from last week that fixes an issue with covariance and contravariance (see http://www.telerik.com/account/support-tickets/view-ticket.aspx?threadid=457316)

22 Answers, 1 is accepted

Sort by
0
Mihail
Telerik team
answered on 30 Aug 2011, 10:09 AM
Hello Chris,

Thank you for your question. In case you use TeamCity with MSBuild you can use MSBuild tasks. JustMock comes with Telerik.JustMock.MSBuild assembly that contains two MSBuild tasks: JustMockStart and JustMockStop. These tasks are really simple - all they do is to set/clear two environment variables. I am not familiar with TeamCity product but after a quick check in its documentation I found this page http://confluence.jetbrains.net/display/TCD65/Configuring+Build+Parameters that gives me a clue how to configure TeamCity build with predefined environment variables. All you have to do is to set the following environment variables:

COR_ENABLE_PROFILING=0x1
COR_PROFILER={D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}

Please let us know if this helps.


Regards,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 30 Aug 2011, 02:59 PM
Hi

Unfortunately I'm seeing the same errors as before despite having changed these in TeamCity's build configuration.

Is there anything special about the installer for JustMock? When running on the build server I only have the DLLs copied over.

Thanks

Chris
0
Mihail
Telerik team
answered on 30 Aug 2011, 05:08 PM
Hello Chris,

When JustTrace works in elevated mode it actually works as .NET profiler so it can overwrite IL code at runtime. To configure a .NET profiler for .NET Framework v2.0/v3.0/v3.5 Microsoft requires to register the profiler as a COM component. The COR_PROFILER environment variable is the GUID for the JustMock COM component. You can find more information on this page http://msdn.microsoft.com/en-us/library/bb384689%28v=VS.90%29.aspx. For .NET Framework v4.0 you can take advantage of COR_PROFILER_PATH environment variable. You can find more information on this page http://msdn.microsoft.com/en-us/library/ee471451.aspx

I would strongly recommend to install JustMock on the build server because JustMock installation takes care for COM registration. Another option is to register Telerik.CodeWeaver.dll manually for both 32 and 64bits modes. You can use regsvr32.exe tool to accomplish manual registration.

Kind regards,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 31 Aug 2011, 01:01 PM

One of our build administrators has been investigating this, and we're still not able to get it up and running on TeamCity.

His notes are below and your help would be appreciated!

--> notes <--

Running the build failed with “
Can't load referenced assembly Telerik.CodeWeaver.Hook, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87210992829a189d”

Thinking it had failed to install to the GAC, I uninstalled & re-installed (this time completely successfully), but it still failed with the same error message.

Then I added it to the GAC by hand and it failed with:

[11:10:07]: Step 2/2 (53s)

[11:10:07]: [Step 2/2] Using runner: NUnit

[11:10:14]: [Step 2/2] Starting: E:\TeamCityAgents\H\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit

[11:10:14]: [Step 2/2] in directory: D:\TeamCityAgents\H\work\ea4d137355763e53

[11:10:31]: [Step 2/2] JetBrains dotCover Console Runner v1.0.123.34. Copyright (c) 2009-2011 JetBrains s.r.o. All rights reserved.

[11:10:58]: [Step 2/2] Coverage session started [8/31/2011 11:10:58 AM]

[11:10:59]: [Step 2/2] Coverage session failed [8/31/2011 11:10:59 AM]. Can't start application.

[11:10:59]: [Step 2/2] Bad class token..

[11:11:01]: [Step 2/2] Process exited with code -30

[11:11:01]: [Step 2/2] Step failed

Thinking its CLR profiler was clashing with dotCover, I disabled dotCover in the build configuration, and then it started failing with a message indicative of it not loading the profiler even though the environment variables were set correctly and the windows event viewer shows that the profiler was definitely loaded:

[11:38:40]: Step 2/2 (18s)

[11:38:40]: [Step 2/2] Using runner: NUnit

[11:38:40]: [Step 2/2] Starting: E:\TeamCityAgents\K\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit

[11:38:40]: [Step 2/2] in directory: D:\TeamCityAgents\K\work\ea4d137355763e53

[11:38:51]: [Step 2/2] Start TeamCity NUnit Test Runner

[11:38:51]: [Step 2/2] Running NUnit-2.5.9 tests under .NET Framework v4.0 x86

[11:38:52]: [Step 2/2] CRM.Tests.Unit.dll (5s)

[11:38:52]: [CRM.Tests.Unit.dll] CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated (5s)

[11:38:57]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

[11:38:57]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

11:38:45 AM: .NET Runtime version 4.0.30319.235 - The profiler was loaded successfully.  Profiler CLSID: '{D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}'.  Process ID (decimal): 11864.  Message ID: [0x2507]. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

At this point I’m stuck.  Given that you’ve already got a discussion going with Telerik support, can you please pass the above on, and ask what we should do next.

0
Mihail
Telerik team
answered on 31 Aug 2011, 02:09 PM
Hi Chris,

Thank you for the detailed log. The log entry from 11:38:45 AM shows that JustMock profiler was loaded successfully into a process with ID = 11864. Still JustMock fails when it is used in your tests. I suppose that the process with ID = 11864 is not the process of the NUnit test runner. To confirm this is would suggest to modify your test (Should_Create_When_Exchange_Email_Message_Fully_Populated) so that the very first line is

System.Threading.Thread.Sleep(20 * 1000);

This will give you 20 seconds time to check whether the NUnit test runner process is actually started with COR_* environment variables are set. To see the environment variables for a process you can use Process Explorer tool from www.sysinternals.com (this tool does not require installation and it is designed to be used on build/production servers)

Another option could be using some NUnit logging feature (I am not sure if there is any). My wild guess is using

System.Console.Error.WriteLine(Environment.GetEnvironmentVariable("COR_PROFILER"));

or

System.Console.WriteLine(Environment.GetEnvironmentVariable("COR_PROFILER"));

I hope this will print the value of COR_PROFILER variable in your nunit log file. My main goal is to confirm that COR_* variables are set on the process that executes your tests.

Please let us what you findings are.

All the best,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 31 Aug 2011, 04:35 PM
Okay, so having added code to report the variables we now see the following problem, thus something is still not right:

Awesome!  I’ve disabled dotCover again and it’s now printing the environment variable.  Can you please send it off to their support team.

[16:05:34]: Step 2/2 (15s)

[16:05:34]: [Step 2/2] Using runner: NUnit

[16:05:34]: [Step 2/2] Starting: E:\TeamCityAgents\I\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit

[16:05:34]: [Step 2/2] in directory: D:\TeamCityAgents\I\work\ea4d137355763e53

[16:05:45]: [Step 2/2] Start TeamCity NUnit Test Runner

[16:05:45]: [Step 2/2] Running NUnit-2.5.9 tests under .NET Framework v4.0 x86

[16:05:47]: [Step 2/2] CRM.Tests.Unit.dll (1s)

[16:05:47]: [CRM.Tests.Unit.dll] CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated (1s)

[16:05:48]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] [Test Error Output] COR_PROFILER {D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}

[16:05:49]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

[16:05:49]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

0
Mihail
Telerik team
answered on 01 Sep 2011, 09:18 AM
Hello Chris,

Once you have confirmed that both COR_PROFILER and COR_ENABLE_PROFILING variables are properly set I would suggest to inspect the JustMock profiler COM registration. From the following log entry

[16:05:45]: [Step 2/2] Running NUnit-2.5.9 tests under .NET Framework v4.0 x86

I assume that your NUnit test runner is 32bit process. This means that you have to check the registration of 32bit JustMock profiler. You can do that with regedit.exe tool. If your build server is running on 64bit machine you have to check the following registry key:

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}\InprocServer32

The default value on my machine is  "C:\Program Files (x86)\Telerik\JustMock\Libraries\CodeWeaver\x86\Telerik.CodeWeaver.dll". Please make sure that such file actually exists for your value.

In case your build server is running on 32bit machine you have to inspect the following registry key:

HKEY_CLASSES_ROOT\CLSID\{D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}\InprocServer32

Again the default value should point to a valid file location. In case COM registration is correct I would suggest an extra check. Please modify your test (Should_Create_When_Exchange_Email_Message_Fully_Populated) so it prints the current process ID. As you indicated before this can accomplishied with one of the following statements:

System.Console.Error.WriteLine(System.Diagnostics.Process.GetCurrentProcess().Id);
or
System.Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().Id);

My goal is to confirm that the printed process ID would be the same as the value that will be reported in your Application event log (you can filter by Event ID = 1022).

Please let us what you findings are.

All the best,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 05 Sep 2011, 11:25 AM
A new update from our build master after tweaking the code to add extra logging information and a thread sleep to enable debugging:

== copied below ==

[11:12:29]: Step 2/2

[11:12:29]: [Step 2/2] Using runner: NUnit

[11:12:29]: [Step 2/2] Starting: E:\TeamCityAgents\I\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit

[11:12:29]: [Step 2/2] in directory: D:\TeamCityAgents\I\work\ea4d137355763e53

[11:12:40]: [Step 2/2] Start TeamCity NUnit Test Runner

[11:12:40]: [Step 2/2] Running NUnit-2.5.9 tests under .NET Framework v4.0 x86

[11:12:42]: [Step 2/2] CRM.Tests.Unit.dll

[11:12:42]: [CRM.Tests.Unit.dll] CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated

[11:12:42]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated]

[Test Error Output]

COR_ENABLE_PROFILING: 0x1

COR_PROFILER: {D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}

Process Name: JetBrains.TeamCity.PlatformProcessRunner.v4.0.msil

Process ID: 10268

Platform: X86

IsWow64: False

Sleeping for 30 seconds to allow for debugging...

 

[11:13:13]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

[11:13:13]: [CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated] Test(s) failed. Telerik.JustMock.MockException : Could not create mock from sealed class when profiler is not enabled.

   at Telerik.JustMock.MockManager.CreateInstance(Container container)

   at Telerik.JustMock.MockManager.SetupMock(Behavior behavior, Boolean static)

   at Telerik.JustMock.MockManager.CreateInstance()

   at Telerik.JustMock.Mock.Create(Type target, Behavior behavior, Object[] args)

   at Telerik.JustMock.Mock.Create(Type target, Object[] args)

   at Telerik.JustMock.Mock.Create[T]()

   at CRM.Tests.Unit.ExchangeServices.CreateEmailEntityFromEmailMessageFixture.Should_Create_When_Exchange_Email_Message_Fully_Populated() in d:\TeamCityAgents\I\work\ea4d137355763e53\Source\CRM.Tests.Unit\ExchangeServices\CreateEmailEntityFromEmailMessageFixture.cs:line 34

Then there is this in the event viewer, crucially for the same process ID as was written out above.

11:12:34 AM: .NET Runtime version 4.0.30319.235 - The profiler was loaded successfully.  Profiler CLSID: '{D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}'.  Process ID (decimal): 10268.  Message ID: [0x2507].  For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Checking the registry key you asked for:

The machine (rg-build01) is a 32-bit machine so actually there's no complicated 32/64 bit registry stuff going on, which also means that the value isn't quite what they expected it to be (it's in Program Files not Program Files (x86)):

HKEY_CLASSES_ROOT\CLSID\{D1087F67-BEE8-4f53-B27A-4E01F64F3DA8}\InprocServer32

Has the value:

C:\Program Files\Telerik\JustMock\Libraries\CodeWeaver\x86\Telerik.CodeWeaver.dll

The saga continues...

0
Chris
Top achievements
Rank 1
answered on 05 Sep 2011, 11:29 AM

Following up to that email, I ran the build again, and this time used Process Explorer to verify that the Telerik DLLs were actually loaded:

You can see the Telerik.CodeWeaver.dll loaded at the top there (it’s the one with the TODOs in its description and company name).  Note, that this is not definitive of course, because the tests might have a reference on it, and that’s why it’s loaded.  But coupled with the evidence below from the event viewer saying that it’s loaded, and that the path of that DLL matches the COM registration path, it looks pretty certain that their profiler is being loaded.

0
Mihail
Telerik team
answered on 05 Sep 2011, 01:35 PM
Hello Chris,

Thank you very much for the detailed log and screenshot. I confirm that JustMock profiler is loaded so I examined the code responsible for the exception you see and found issues. Is it an option to send you an internal build that has more verbose logging?

Kind regards,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 05 Sep 2011, 02:41 PM
Yes, please send us a private build so that we can get this issue diagnosed and resolved - I'm keen to make much heavier use of JustMock across several projects so getting this unblocked is a big deal for us
0
Mihail
Telerik team
answered on 05 Sep 2011, 05:06 PM
Hi Chris,

Please find the attached zip file. It contains an internal JustMock build with additional logging enabled. The log is written into the standard Windows debug console so no need to worry that there will be log files left on the hard disk. To see the log you can use DebugView tool that is available at http://technet.microsoft.com/en-us/sysinternals/bb896647. This tool does not require installation. In order to capture the log DebugView has to be started before you start the test runner on your build server. The tool also allows you to save the log as a plain text file.

Here is a part from the log on my machine:

[3836] TestDriven.NET.OnConnection: 0.348
[3420] JustMock: CoCreateInstance=800401F0
[3420] JustMock: CoCreateInstance=800401F0
[3420] JustMock: CoCreateInstance=800401F0
[3420] JustMock: CoCreateInstance=800401F0
...
[3420] JustMock: CoCreateInstance=800401F0
[3420] JustMock: CoCreateInstance=0
[3420] JustMock: AddToROT=0
[3420] JustMock: Found weaver assembly=True
[3420] JustMock: Looking for 'TelerikCodeWeaverPlaceholderPID3420' in ROT
[3420] JustMock: GetRunningObjectTable=0, runningObjectTable=True
[3420] JustMock: monikerEnumerator=0
[3420] JustMock: (1) CreateBindCtx=0, ctx=True
[3420] JustMock: (1) runningObjectName='TelerikCodeWeaverPlaceholderPID3420'
[3420] JustMock: (1) Found 'TelerikCodeWeaverPlaceholderPID3420'
[3420] JustMock: IsProfilerActive=True
[3420] JustMock: profilerEnabled=True
...
[3420] JustMock: Looking for 'TelerikCodeWeaverPlaceholderPID3420' in ROT
[3420] JustMock: GetRunningObjectTable=0, runningObjectTable=True
[3420] JustMock: monikerEnumerator=0
[3420] JustMock: (1) CreateBindCtx=0, ctx=True
[3420] JustMock: (1) runningObjectName='TelerikCodeWeaverPlaceholderPID3420'
[3420] JustMock: (1) Found 'TelerikCodeWeaverPlaceholderPID3420'

The number in square brackets is the ID of the process that writes the log. In your case you have to look for the test runner process ID. I put "JustMock:" prefix so you can easy filter the lines you are interested into.

Please install the internal build and capture the log from JustMock. Once we have the log I will have a better understanding for the problem and how to help you.

All the best,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 06 Sep 2011, 10:42 AM
Hi

Fresh log based on the binaries you supplied yesterday.

Extra context information from our build master below:

== notes ==

Installed, and ran; log attached.

PIDs:

4744: is our Monitoring system (part of SCOMM)

1168: is ccservice (which can be ignored, because it’s some unrelated thing CC.net is doing; it is still being used for legacy raisons on other projects)

11692 is the NUnit process.

1056 and 8436 and 11720 are other processes that are part of the build, e.g. compiling the source code (because the environment variable is set for the entire build, not just the tests part of it).

== Log == 

00000001 6:29:24.759 PM [1056] JustMock: CoCreateInstance=800401F0
00000002 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000003 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000004 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000005 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000006 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000007 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000008 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000009 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000010 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000011 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000012 6:29:24.775 PM [1056] JustMock: CoCreateInstance=800401F0
00000013 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000014 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000015 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000016 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000017 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000018 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000019 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000020 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000021 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000022 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000023 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000024 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000025 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000026 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000027 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000028 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000029 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000030 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000031 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000032 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000033 6:29:24.790 PM [1056] JustMock: CoCreateInstance=800401F0
00000034 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000035 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000036 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000037 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000038 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000039 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000040 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000041 6:29:24.806 PM [1056] JustMock: CoCreateInstance=800401F0
00000042 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000043 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000044 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000045 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000046 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000047 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000048 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000049 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000050 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000051 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000052 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000053 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000054 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000055 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000056 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000057 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000058 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000059 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000060 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000061 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000062 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000063 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000064 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000065 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000066 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000067 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000068 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000069 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000070 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000071 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000072 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000073 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000074 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000075 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000076 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000077 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000078 6:29:24.821 PM [1056] JustMock: CoCreateInstance=800401F0
00000079 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000080 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000081 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000082 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000083 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000084 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000085 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000086 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000087 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000088 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000089 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000090 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000091 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000092 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000093 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000094 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000095 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000096 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000097 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000098 6:29:24.837 PM [1056] JustMock: CoCreateInstance=800401F0
00000099 6:29:24.853 PM [1056] JustMock: CoCreateInstance=0
00000100 6:29:24.853 PM [1056] JustMock: AddToROT=0
00000101 6:29:28.525 PM [8436] JustMock: CoCreateInstance=0
00000102 6:29:28.540 PM [8436] JustMock: AddToROT=0
00000103 6:29:53.650 PM [4744] Script 'MOM Backward Compatibility Service State Monitoring Script' completed with the following output: (empty)
00000104 6:29:53.728 PM [4744] Script 'MOM Backward Compatibility Service State Monitoring Script' completed with the following output: (empty)
00000105 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000106 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000107 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000108 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000109 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000110 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000111 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000112 6:30:03.619 PM [11720] JustMock: CoCreateInstance=800401F0
00000113 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000114 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000115 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000116 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000117 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000118 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000119 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000120 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000121 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000122 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000123 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000124 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000125 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000126 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000127 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000128 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000129 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000130 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000131 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000132 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000133 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000134 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000135 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000136 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000137 6:30:03.634 PM [11720] JustMock: CoCreateInstance=800401F0
00000138 6:30:03.650 PM [11720] JustMock: CoCreateInstance=800401F0
00000139 6:30:03.650 PM [11720] JustMock: CoCreateInstance=800401F0
00000140 6:30:03.650 PM [11720] JustMock: CoCreateInstance=800401F0
00000141 6:30:03.650 PM [11720] JustMock: CoCreateInstance=800401F0
00000142 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000143 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000144 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000145 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000146 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000147 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000148 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000149 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000150 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000151 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000152 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000153 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000154 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000155 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000156 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000157 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000158 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000159 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000160 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000161 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000162 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000163 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000164 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000165 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000166 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000167 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000168 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000169 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000170 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000171 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000172 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000173 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000174 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000175 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000176 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000177 6:30:03.666 PM [11720] JustMock: CoCreateInstance=800401F0
00000178 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000179 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000180 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000181 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000182 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000183 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000184 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000185 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000186 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000187 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000188 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000189 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000190 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000191 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000192 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000193 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000194 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000195 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000196 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000197 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000198 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000199 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000200 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000201 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000202 6:30:03.681 PM [11720] JustMock: CoCreateInstance=800401F0
00000203 6:30:03.697 PM [11720] JustMock: CoCreateInstance=0
00000204 6:30:03.697 PM [11720] JustMock: AddToROT=0
00000205 6:30:08.884 PM [11692] JustMock: CoCreateInstance=800401F0
00000206 6:30:08.884 PM [11692] JustMock: CoCreateInstance=800401F0
00000207 6:30:08.884 PM [11692] JustMock: CoCreateInstance=800401F0
00000208 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000209 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000210 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000211 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000212 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000213 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000214 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000215 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000216 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000217 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000218 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000219 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000220 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000221 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000222 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000223 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000224 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000225 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000226 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000227 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000228 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000229 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000230 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000231 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000232 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000233 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000234 6:30:08.900 PM [11692] JustMock: CoCreateInstance=800401F0
00000235 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000236 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000237 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000238 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000239 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000240 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000241 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000242 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000243 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000244 6:30:08.916 PM [11692] JustMock: CoCreateInstance=800401F0
00000245 6:30:08.931 PM [11692] JustMock: CoCreateInstance=800401F0
00000246 6:30:08.931 PM [11692] JustMock: CoCreateInstance=800401F0
00000247 6:30:08.947 PM [11692] JustMock: CoCreateInstance=800401F0
00000248 6:30:08.947 PM [11692] JustMock: CoCreateInstance=800401F0
00000249 6:30:08.947 PM [11692] JustMock: CoCreateInstance=800401F0
00000250 6:30:08.947 PM [11692] JustMock: CoCreateInstance=800401F0
00000251 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000252 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000253 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000254 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000255 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000256 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000257 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000258 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000259 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000260 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000261 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000262 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000263 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000264 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000265 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000266 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000267 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000268 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000269 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000270 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000271 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000272 6:30:08.963 PM [11692] JustMock: CoCreateInstance=800401F0
00000273 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000274 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000275 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000276 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000277 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000278 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000279 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000280 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000281 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000282 6:30:08.978 PM [11692] JustMock: CoCreateInstance=800401F0
00000283 6:30:08.978 PM [11692] JustMock: CoCreateInstance=0
00000284 6:30:08.978 PM [11692] JustMock: AddToROT=0
00000285 6:30:14.447 PM [1168] Fail to create a process object to process id 6808
00000286 6:31:53.636 PM [4744] Script 'MOM Backward Compatibility Service State Monitoring Script' completed with the following output: (empty)
00000287 6:31:53.698 PM [4744] Script 'MOM Backward Compatibility Service State Monitoring Script' completed with the following output: (empty)



0
Mihail
Telerik team
answered on 06 Sep 2011, 11:52 AM
Hello Chris,

The log so far confirms that JustMock profiler works correctly. I expected more log entries though. I expected to see something like:

[3420] JustMock: Found weaver assembly=True
[3420] JustMock: Looking for 'TelerikCodeWeaverPlaceholderPID3420' in ROT
[3420] JustMock: GetRunningObjectTable=0, runningObjectTable=True
[3420] JustMock: monikerEnumerator=0
[3420] JustMock: (1) CreateBindCtx=0, ctx=True
[3420] JustMock: (1) runningObjectName='TelerikCodeWeaverPlaceholderPID3420'
[3420] JustMock: (1) Found 'TelerikCodeWeaverPlaceholderPID3420'
[3420] JustMock: IsProfilerActive=True
[3420] JustMock: profilerEnabled=True

or in your case some of the values should be FALSE. In one of your previous posts you attached a screen shot from Process Explorer tool. It seems that Telerik.CodeWeaver.Hook assembly is loaded from GAC (I conclude this from its image path C:\Windows\assembly\GAC_MSIL\Telerik_CodeWeaver_Hook\1.0.0.0_.....\Telerik.CodeWeaver.Hook.dll). This is not usual for JustMock installation. Is this assembly manually installed in GAC?

When CLR tries to load an assembly GAC location has highest precedence. I suspect you have an old assembly version deployed in GAC. Is it possible to remove this assembly from GAC or to make sure you replace the assembly with the version from comes with the internal JustMock build?

Also, can you please confirm that your tests are actually build with the new Telerik.JustMock.dll assembly? I've put logging functionality in both Telerik.JustMock.dll and Telerik.CodeWeaver.Hook.dll assemblies which I dont see. Please let us know what your findings are.

Best wishes,
Mike
the Telerik team

Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>

0
Chris
Top achievements
Rank 1
answered on 02 Nov 2011, 05:55 PM
Hi

I'm finally back onto looking at this problem and want to get this resolved with our new build master - unfortunately the trial has expired so we can't verify our test :-(

Is it possible to get a trial extension so we can verify this fix?

Have the fixed that were made been rolled into an updated live build? We would want to get this rolled out across the team and onto our build server if this proves successful

Thanks

Chris
0
Ricky
Telerik team
answered on 03 Nov 2011, 07:42 PM
Hi Chris,
Thanks again for contacting us. At this point i would ask you to create a support ticket where i can send you an internal build with the required extension.

Kind Regards,
Mehfuz
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

0
DGDev
Top achievements
Rank 2
answered on 03 Mar 2012, 09:06 AM
Can anyone update the status on this issue.  I'm having problems using dotCover with JustMock.  JustMock works perfectly when running the tests and debugging, however, whenever I try to run code coverage, many tests fail with the error:
Profiler must be enabled to mock/assert target ...

Example:
Telerik.JustMock.MockException : Profiler must be enabled to mock/assert target KeyedHashProvider.CreateHashAsBase64(String,String,Boolean,DataProtectionScope) method.
at Telerik.JustMock.Handlers.InterceptorHandler.Create(Object target, MethodInfo methodInfo, Boolean privateMethod)
at Telerik.JustMock.MockContext`1.SetupMock(MockExpression`1 expression)
at Telerik.JustMock.Helpers.FluentHelper.<>c__DisplayClass1`2.<Arrange>b__0(MockContext`1 x)
at Telerik.JustMock.MockContext.Setup(Instruction instruction, Func`2 function)
at Telerik.JustMock.Helpers.FluentHelper.Arrange(T obj, Expression`1 expression)
at NContext.Extensions.EnterpriseLibrary.Tests.Unit.KeyedHashProviderTests.CreateHashAsBase64_DefaultWithNoSalt_ReturnsAValidHash() in KeyedHashProviderTests.cs: line 82

[Test]
public void CreateHashAsBase64_DefaultWithNoSalt_ReturnsAValidHash()
{
    Type defaultKeyedHashAlgorithm = typeof(HMACSHA256);
    var mockHashProvider = Mock.Create<KeyedHashProvider>(defaultKeyedHashAlgorithm);
    mockHashProvider.Arrange(p => p.CreateHashAsBase64(Arg.AnyString, Arg.AnyString, false, DataProtectionScope.LocalMachine)).CallOriginal();
 
    var actual = mockHashProvider.CreateHashAsBase64(_SymmetricKey, _PlainText, false);
    var expected = Convert.ToBase64String(new HMACSHA256(_SymmetricKeyBytes).ComputeHash(_PlainTextBytes));
 
    Assert.AreEqual(expected, actual);
}
0
Ricky
Telerik team
answered on 08 Mar 2012, 10:43 PM
Hi Chris,

Thanks again for reporting the issue. To make JustMock tests work with dotCover, I would recommend combining your test executable with JustMockRunner.exe. Here, i created a sample project with a coverage.xml that looks like:

<CoverageParams>
<TargetExecutable>C:\Program Files (x86)\Telerik\JustMock\Libraries\JustMockRunner.exe</TargetExecutable>
<TargetArguments>"c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe"  "/testContainer:C:\JustMock_Examples\JustMock_Examples\bin\Debug\JustMock_Examples.dll"</TargetArguments>
<Output>output.dcvr</Output>
</CoverageParams>

Next, I created a cover.bat where I pointed the coverage.xml and once executed all tests passed as expected.

"C:\Program Files (x86)\JetBrains\dotCover\v1.2\Bin\dotcover.exe" cover coverage.xml

This can also be done from VS-> dotCover -> cover applicaiton option where the value for TestExecutable and TestArguments should be exactly the same as the above coverage.xml.

However, one glitch i found that dotCover does not display the coverage snapshot properly when combined with JustMockRunner. I will keep a note on that and we will investigate further. However, this could also be an issue that dotcover is not processing the result from JustMockRunner.exe properly as
when the same method is used with standalone runner for NCover, everything worked as expected.

Finally, I am including the project for you to take a look. Here I have used the latest Q1 release.

Kind Regards,
Mehfuz
the Telerik team
Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
0
Andrew
Top achievements
Rank 1
Veteran
Iron
answered on 14 Mar 2012, 01:38 PM
I am having the same issue with Jenkins. I am getting this error:
Telerik.JustMock.MockException : Profiler must be enabled to mock/assert target
0
Ricky
Telerik team
answered on 16 Mar 2012, 06:41 PM
Hi Chris,

Thanks for pointing the issue. However, JustMockRunner.exe is designed to run JustMock tests with third-party tools. If the arguments are set properly then you won’t be having any issues configuring it with Jenkins.

In addition, if you have some specific problems with Jenkins then feel free to share it with us and we would love to help you out.

Kind Regards
Mehfuz
the Telerik team
Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
0
Andrew
Top achievements
Rank 1
Veteran
Iron
answered on 16 Mar 2012, 07:39 PM
ok I got justmockrunner working as:
"C:\Program Files (x86)\Telerik\JustMock\Libraries\JustMockRunner.exe" "C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\nunit-console.exe" %~1

but how do I rename the results output file for nunit using "/out:Testing.txt" I have tried many ways to change it but it just gets ignored
0
Ricky
Telerik team
answered on 21 Mar 2012, 06:21 PM
Hi Andrew,
It's great that you got JustMockRunner working. However, I run the following command with NUnit only and the TestResult file is still blank

"C:\JustMock_Support\JustMockRunner_with_samples_5193F2E9\NUnit-2.6.0.12051\bin\nunit-console.exe" "C:\JustMock_Support\JustMockRunner_with_samples_5193F2E9\JustMockTest\JustMockTrialTests\bin\Debug\JustMockTrialTests.dll" /out:TestResult.txt

In addition, I found the following message in NUnit website:

Note:This option only redirects output produced by the tests, together with selected NUnit output that is interspersed with the test output. It does not redirect all console output. If you want to redirect alloutput to a file, you should use command line redirection as supported by the shell you are using. This option exists for the purpose of separating test output from other output, such as the NUnit summary report.

Therefore, i modified the above line in the following way and it redirected the output properly:

"C:\JustMock_Support\JustMockRunner_with_samples_5193F2E9\NUnit-2.6.0.12051\bin\nunit-console.exe" "C:\JustMock_Support\JustMockRunner_with_samples_5193F2E9\JustMockTest\JustMockTrialTests\bin\Debug\JustMockTrialTests.dll" > TestResult.txt

Further, including JustMockRunner.exe it redirected the output as well:

"C:\Program Files (x86)\Telerik\JustMock\Libraries\JustMockRunner.exe" "C:\JustMock_Support\JustMockRunner_with_samples_5193F2E9\NUnit-2.6.0.12051\bin\nunit-console.exe" "C:\JustMock_Support\JustMockRunner_with_samples_5193F2E9\JustMockTest\JustMockTrialTests\bin\Debug\JustMockTrialTests.dll" > TestResult.txt

Hope this solves your issue.

Kind Regards,
Mehfuz
the Telerik team

Sharpen your .NET Ninja skills! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>
Tags
General Discussions
Asked by
Chris
Top achievements
Rank 1
Answers by
Mihail
Telerik team
Chris
Top achievements
Rank 1
Ricky
Telerik team
DGDev
Top achievements
Rank 2
Andrew
Top achievements
Rank 1
Veteran
Iron
Share this question
or