Another PartCover Empty Report Question - nunit

I've tried the steps listed here, but I still can't get partcover to generate any output other than:
<?xml version="1.0" encoding="utf-8"?>
<PartCoverReport ver="2.2.0.36423" />
Here is what I've done:
Installed 2.2 instead of 2.3
Ran corflags /Force /32bit+ PartCover.exe
Ran corflags /Force /32bit+ PartCover.browser.exe
Here is my command line:
partcover --target nunit-console-x86.exe --target-args unittests.dll --include +[*]* --output c:\temp\out.txt
When I run that command, here is the output I get:
Start target
Wait results
NUnit version 2.5.0.9117 (RC)
Copyright (C) 2002-2008 Charlie Poole.\r\nCopyright (C) 2002-2004 James W. Newki
rk, Michael C. Two, Alexei A. Vorontsov.\r\nCopyright (C) 2000-2002 Philip Craig
.\r\nAll Rights Reserved.
Runtime Environment -
OS Version: Microsoft Windows NT 6.0.6002 Service Pack 2
CLR Version: 2.0.50727.4200 ( Net 2.0.50727.4200 )
ProcessModel: Default DomainUsage: Single
Execution Runtime: net-2.0.50727.4200
.Gendarme v2.4.0.0
Copyright (C) 2005-2009 Novell, Inc. and contributors
Initialization: 1.1 seconds
unittests.dll: 2.4 seconds
One assembly processed in 3.5 seconds.
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
.................................
Tests run: 1076, Errors: 0, Failures: 0, Inconclusive: 0 Time: 19.071907 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Walk results
Does anyone have any suggestions that might help? Thank you!

OK, here is what I did to fix the problem, in addition to the steps above:
Add a settings file: settings.xml
<PartCoverSettings>
<Target>nunit-console-x86.exe</Target>
<TargetArgs>unittests.dll</TargetArgs>
<Rule>+[*]*</Rule>
</PartCoverSettings>
Run with this command line:
partcover --settings settings.xml --output out.xml
And that produces an XML file.
I also didn't need to downgrade to 2.2. 2.3 seems to work fine for me now...

Related

Display passed tests while they run with latest NUnit3TestAdapter version 4+

I'm having a silly problem, with Nunit3TestAdapter version 3 under dotnet 5, I could see tests while they were passing, with the execution time detailed, the "Passed Test1" in the following transcript, as long as verbosity was set to at least normal:
$ dotnet test -v normal
[...]
NUnit Adapter 3.17.0.0: Test execution complete
Passed Test1 [21 ms]
Passed Test2 [< 1 ms]
Test Run Successful.
Total tests: 2
Passed: 2
I recently upgraded to dotnet 6 and nunit adapter 4.2.0, and now I'm unable to display the detailed output, even with the higher (detailed) verbosity:
$ dotnet test -v detailed
[...]
Test run for /tmp/nunit-repro/bin/Debug/net6.0/nunit-repro.dll (.NETCoreApp,Version=v6.0)
Microsoft (R) Test Execution Command Line Tool Version 17.0.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
Passed! - Failed: 0, Passed: 2, Skipped: 0, Total: 2, Duration: 24 ms - /tmp/nunit-repro/bin/Debug/net6.0/nunit-repro.dll (net6.0)
I've been looking around for some time now and cannot find a relevant configuration option. Am I missing something?
Having integration test suites made of hundreds of tests and taking several minutes to pass, it's quite frustrating to have no visual progress whatsoever, not knowing if things are running or hanging.
Someone found the solution for me, add -l "console;verbosity=detailed":
dotnet test -l "console;verbosity=detailed"

Eclipse fails to build Java Card sample projects

I have installed the new release of Java Card Platform Development Kit, according to the following guide. This includes all the prerequisites, as well as version 3.0.5u2 of JCDK. As a heads up, I tried installing this on 2 different computers (one has Win7, the other Win10) and reinstalled everything on both.
The problem I'm encountering is that none of the sample projects will build properly. When I try to build the HelloWorld sample, for example, I get the following text printed in the build console:
[ INFO: ] Converter [v3.0.5]
[ INFO: ] Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
[ INFO: ] conversion completed with 0 errors and 0 warnings.
[ INFO: ] Converter [v3.0.5]
[ INFO: ] Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
[ INFO: ] conversion completed with 0 errors and 0 warnings.
Missing file containing component hashes.
usage: scriptgen [-options] -hashfile <hash file path> <cap File Path>
where options include:
-help Print this message and exit.
-o <filename> Output filename. default: stdout
-version Print version number and exit.
-nobanner Do not print banner.
-nobeginend Suppress "CAP_BEGIN", "CAP_END" APDU commands.
-package <pkgname> Package name.
While the regular console has this to say:
Executing "$JC_CLASSIC_HOME\bin/converter.bat" -debug -nobanner -out CAP JCA -classdir "$JC_CLASSIC_HOME\samples\classic_applets\HelloWorld\applet\bin" -d "$JC_CLASSIC_HOME\samples\classic_applets\HelloWorld\applet\deliverables" -exportpath "$JC_CLASSIC_HOME\api_export_files" -applet 0xA0:0x00:0x00:0x00:0x62:0x03:0x01:0x0C:0x01:0x01 com.sun.jcclassic.samples.helloworld.HelloWorld com.sun.jcclassic.samples.helloworld 0xA0:0x00:0x00:0x00:0x62:0x03:0x01:0x0C:0x01 1.0
Executing "$JC_CLASSIC_HOME\bin/scriptgen.bat" -package com.sun.jcclassic.samples.helloworld -o "$JC_CLASSIC_HOME\samples\classic_applets\HelloWorld\applet\apdu_scripts/cap-com.sun.jcclassic.samples.helloworld.script" "$JC_CLASSIC_HOME\samples\classic_applets\HelloWorld\applet\deliverables/com/sun/jcclassic/samples/helloworld/javacard/helloworld.cap"
java.io.FileNotFoundException: $JC_CLASSIC_HOME\samples\classic_applets\HelloWorld\applet\apdu_scripts\cap-com.sun.jcclassic.samples.helloworld.script (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
... (stack trace)
Now, I'm not 100% sure, but I think that when I had version 3.0.5u1 installed, I was able to build the sample projects.
It seems the build process of the Java Card Classic Development Kit 3.0.5u2 (jcdk) Eclipse Plugin is broken. During the build of an java card applet, three scripts located in the bin subdirectory of the jcdk installation directory are executed (if using default applet settings in eclipse):
converter.bat generating the export file *.exp
converter.bat generating cap (and jca) file
scriptgen.bat generating the script files for installing the applet to a java card.
The problem is, that scriptgen requires a hashfile containing hashes for the applet components. You can see this if you decompile the class com.sun.javacard.scriptgen.Main of tools.jar in jcdk lib folder.
This hashfile is not generated during the eclipse build process, neither is the scriptgen script called with the corresponding program option "-hashfile <hash-file>". The only workaround currently is using the jcdk tools on the console manually. Therefor you can use the output of console in eclipse and adopt it for your needs.
Example output for a simple test applet:
Executing E:\eclipse-oxygen-64bit\JCDKit_305u2\bin/converter.bat -i -debug -out EXP -classdir G:\eclipse_javacard\workspace\TestJCDKApplet\bin -d G:\eclipse_javacard\workspace\TestJCDKApplet\deliverables -exportpath E:\eclipse-oxygen-64bit\JCDKit_305u2\\api_export_files -applet 0xD0:0x00:0x00:0x00:0x01:0x01:0x01 test.jcdk.applet.TestApplet test.jcdk.applet 0xD0:0x00:0x00:0x00:0x01:0x01 1.0
Executing E:\eclipse-oxygen-64bit\JCDKit_305u2\bin/converter.bat -i -debug -out CAP JCA -classdir G:\eclipse_javacard\workspace\TestJCDKApplet\bin -d G:\eclipse_javacard\workspace\TestJCDKApplet\deliverables -exportpath E:\eclipse-oxygen-64bit\JCDKit_305u2\\api_export_files -applet 0xD0:0x00:0x00:0x00:0x01:0x01:0x01 test.jcdk.applet.TestApplet test.jcdk.applet 0xD0:0x00:0x00:0x00:0x01:0x01 1.0
Executing E:\eclipse-oxygen-64bit\JCDKit_305u2\bin/scriptgen.bat -package test.jcdk.applet -o G:\eclipse_javacard\workspace\TestJCDKApplet\apdu_scripts/cap-test.jcdk.applet.script G:\eclipse_javacard\workspace\TestJCDKApplet\deliverables/test/jcdk/applet/javacard/applet.cap
Modified to generate the required script files (listed only the last two, first two scripts do not change):
G:\eclipse_javacard\workspace\TestJCDKApplet>E:\eclipse-oxygen-64bit\JCDKit_305u2\bin\verifycap.bat -outfile applet.hash E:\eclipse-oxygen-64bit\JCDKit_305u2\api_export_files\java\lang\javacard\lang.exp E:\eclipse-oxygen-64bit\JCDKit_305u2\api_export_files\javacard\framework\javacard\framework.exp .\deliverables\test\jcdk\applet\javacard\applet.exp .\deliverables\test\jcdk\applet\javacard\applet.cap
[ INFO: ] Verifier [v3.0.5]
[ INFO: ] Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
[ INFO: ] Verifying CAP file .\deliverables\test\jcdk\applet\javacard\applet.cap
[ INFO: ] Digest for test/jcdk/applet/javacard/Header.cap [SHA-256: 22e589e7bbb45e420c2a17d5b8abcc437c52f00ecfb15b48ed3257f87eff62f9]
[ INFO: ] Digest for test/jcdk/applet/javacard/Directory.cap [SHA-256: bc72a8594664c9720c38afab7c87b7dda894088f53faefcac548463a4186fbe9]
[ INFO: ] Digest for test/jcdk/applet/javacard/Import.cap [SHA-256: e58492b256b4af8d7f1860f18e57c5336e254a618c2518c987dcefb33db0a8d0]
[ INFO: ] Digest for test/jcdk/applet/javacard/ConstantPool.cap [SHA-256: 6c5bf615cd3746d52c815e8264b910a41a94217161862a7520087799fd03098b]
[ INFO: ] Digest for test/jcdk/applet/javacard/StaticField.cap [SHA-256: 1ec76ec50280f5d8822179bb1b268ae7c2383d9fbe4d6c2beb427090dbf53dfd]
[ INFO: ] Digest for test/jcdk/applet/javacard/RefLocation.cap [SHA-256: b2b3f5e23eee662b8c406212d5cb291959a8eeddb92e58b9a45941c0b91388be]
[ INFO: ] Digest for test/jcdk/applet/javacard/Descriptor.cap [SHA-256: 292e4bd46d836b8501a19a9ea92b1ec976eca1b4920bb03499236284d17be2d7]
[ INFO: ] Digest for test/jcdk/applet/javacard/Class.cap [SHA-256: 6c68abd77e3481a00ae2462cfc8f416ae38d4d0e4b02c685145c39d30d132526]
[ INFO: ] Digest for test/jcdk/applet/javacard/Debug.cap [SHA-256: 7341f35fee494363bb8b84e8c132399a33a0bb4d39fd9192e92be680c08019d3]
[ INFO: ] Digest for test/jcdk/applet/javacard/Method.cap [SHA-256: 651231359c6bb65fbcb0e3a49f52cee1a682ed7e97610365b374583638757365]
[ INFO: ] Digest for test/jcdk/applet/javacard/Applet.cap [SHA-256: e1de8850f009796b9b991757dd378353128e10d4bc6400e5bbd970516bf187f1]
[ INFO: ] Verification completed with 0 warnings and 0 errors.
(Note: you have to add the path to the jcdk export files used by the applet, these you can find out by activating verbose output in the java card package settings and searching the console output for referenced exp files.)
Then at lease you can generate the install script with the command:
G:\eclipse_javacard\workspace\TestJCDKApplet>E:\eclipse-oxygen-64bit\JCDKit_305u2\bin/scriptgen.bat -package test.jcdk.applet -o
G:\eclipse_javacard\workspace\TestJCDKApplet\apdu_scripts/cap-test.jcdk.applet.script G:\eclipse_javacard\workspace\TestJCDKApplet\deliverables/test/jcdk/applet/javacard/applet.cap -hashfile applet.hash
ScriptGen [v3.0.5]
Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
APDU script file for CAP file download generated.

Cannot install Perl module due to missing cc1 compiler on Ubuntu 14.04

I am trying to install Moose using cpanm on Ubuntu 14.04, but I get an error saying:
Running Makefile.PL
Configuring Moose-2.1210 ... cc: error trying to exec 'cc1': execvp: No such file or directory
This distribution requires a working compiler at Makefile.PL line 52.
N/A
! Configure failed for Moose-2.1210. See /home/hakon/.cpanm/work/1407056127.30229/build.log for details.
I have installed gcc compiler version 4.8.2. :
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.8/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.2-19ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-i386 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-i386 --with-arch-directory=i386 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-targets=all --enable-multiarch --disable-werror --with-arch-32=i686 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu
Thread model: posix
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
Here is more output (the whole output is available here):
$ cpanm -v Moose
cpanm (App::cpanminus) 1.7004 on perl 5.018002 built for i686-linux-gnu-thread-multi-64int
Work directory is /home/hakon/.cpanm/work/1407056507.30283
You have make /usr/bin/make
You have LWP 6.05
You have /bin/tar: tar (GNU tar) 1.27.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Checking if you have ExtUtils::MakeMaker 6.31 ... Yes (6.66)
Checking if you have ExtUtils::Install 1.46 ... Yes (1.59)
Searching Moose on cpanmetadb ...
Unpacking Moose-2.1210.tar.gz
--> Working on Moose
Fetching http://www.cpan.org/authors/id/E/ET/ETHER/Moose-2.1210.tar.gz ... OK
Moose-2.1210/
Moose-2.1210/author/
Moose-2.1210/benchmarks/
Moose-2.1210/bin/
Moose-2.1210/Changes
Moose-2.1210/Changes.Class-MOP
Moose-2.1210/dist.ini
Moose-2.1210/doc/
Moose-2.1210/inc/
Moose-2.1210/lib/
Moose-2.1210/LICENSE
Moose-2.1210/Makefile.PL
Moose-2.1210/MANIFEST
Moose-2.1210/META.json
Moose-2.1210/META.yml
Moose-2.1210/mop.c
Moose-2.1210/mop.h
...
<cut>
...
Moose-2.1210/benchmarks/cmop/run_yml.pl
Moose-2.1210/benchmarks/cmop/lib/Bench/
Moose-2.1210/benchmarks/cmop/lib/MOP/
Moose-2.1210/benchmarks/cmop/lib/Plain/
Moose-2.1210/benchmarks/cmop/lib/Plain/Point.pm
Moose-2.1210/benchmarks/cmop/lib/Plain/Point3D.pm
Moose-2.1210/benchmarks/cmop/lib/MOP/Immutable/
Moose-2.1210/benchmarks/cmop/lib/MOP/Installed/
Moose-2.1210/benchmarks/cmop/lib/MOP/Point.pm
Moose-2.1210/benchmarks/cmop/lib/MOP/Point3D.pm
Moose-2.1210/benchmarks/cmop/lib/MOP/Installed/Point.pm
Moose-2.1210/benchmarks/cmop/lib/MOP/Installed/Point3D.pm
Moose-2.1210/benchmarks/cmop/lib/MOP/Immutable/Point.pm
Moose-2.1210/benchmarks/cmop/lib/MOP/Immutable/Point3D.pm
Moose-2.1210/benchmarks/cmop/lib/Bench/Accessor.pm
Moose-2.1210/benchmarks/cmop/lib/Bench/Construct.pm
Moose-2.1210/benchmarks/cmop/lib/Bench/Run.pm
Moose-2.1210/author/docGenerator.pl
Moose-2.1210/author/extract-inline-tests
Moose-2.1210/author/find-dupe-test-numbers
Entering Moose-2.1210
Checking configure dependencies from META.json
Checking if you have Dist::CheckConflicts 0.02 ... Yes (0.11)
Checking if you have ExtUtils::MakeMaker 6.30 ... Yes (6.66)
Checking if you have File::Spec 0 ... Yes (3.40)
Checking if you have ExtUtils::CBuilder 0.27 ... Yes (0.280210)
Running Makefile.PL
Configuring Moose-2.1210 ... cc: error trying to exec 'cc1': execvp: No such file or directory
This distribution requires a working compiler at Makefile.PL line 52.
! Configure failed for Moose-2.1210. See /home/hakon/.cpanm/work/1407056507.30283/build.log for details.
N/A

nunit-console hangs in remote powershell session after finishing test run

I'm running NUnit tests using the following PS line:
& 'D:\tools\nunit-console.exe' D:\MyApplication.Specs.dll /run=MyApplication.MyTest /framework=net-4.5 /nothread
This line is working fine.
After that I'm running the same test in remote session on the same PC with following line:
Invoke-Command -ComputerName MyHost -ScriptBlock { & 'D:\tools\nunit-console.exe' D:\MyApplication.Specs.dll /run=MyApplication.MyTest /framework=net-4.5 /nothread } -credential MyUser
After the test execution is finished nunit-console hangs with following output:
NUnit-Console version 2.6.3.13283
Copyright (C) 2002-2012 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.7601 Service Pack 1
CLR Version: 2.0.50727.5477 ( Net 3.5 )
ProcessModel: Default DomainUsage: Single
Execution Runtime: net-4.5
Selected test(s): MyApplication.MyTest
.
Tests run: 1, Errors: 0, Failures: 0, Inconclusive: 0, Time: 6.96245315227513 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
I have noticed nunit-agent process in task manager. If I kill this process test execution is finished successfully.
The tests are running in separate manually created ASP.NET application domain via Remoting. The solution is to unload this app domain when all tests are passed. Global NUnit TearDown method is useful in this case :)

Perl 5.16.3.1 win32 Devel::REPL module-build-tiny fails to install

I am using strawberry Perl win32 version 5.16.3.1 on Windows 7 and am trying to install the Devel::REPL module which seems to use module-build-tiny and both fail. From the install I get:
---- ETHER/Devel-REPL-1.003025.tar.gz ---
Module::Build::Tiny [build_requires]
Running make test
Make had some problems, won't test
Delayed until after prerequisites
Running make install
Make had some problems, won't install
Delayed until after prerequisites
Running install for module 'Module::Build::Tiny'
...
Test Summary Report
-------------------
t/simple.t (Wstat: 1280 Tests: 21 Failed: 0)
Non-zero exit status: 5
Parse errors: No plan found in TAP output
Files=3, Tests=22, 14 wallclock secs ( 0.13 usr + 0.06 sys = 0.19 CPU)
Result: FAIL
LEONT/Module-Build-Tiny-0.028.tar.gz
C:\strawberry\perl\bin\perl.exe ./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports LEONT/Module-Build-Tiny-0.028.tar.gz
Running Build install
make test had returned bad status, won't install without force
Stopping: 'install' failed for 'Module::Build::Tiny'.
Failed during this command:
LEONT/Module-Build-Tiny-0.028.tar.gz : make_test NO
I tried running force but it still fails at the first simple.t test - a dialog opens to say that Perl has stopped running.
Thoughts on what I need to do to get this to work? Thanks.
Problem solved. Conflict with MinGW which was in the path prior to Strawberry's MinGW environment. Changed the path order and it works fine now.