Debugging Unit Tests in MonoDevelop 3 - mono

I'm getting an exception:
Null Ref > Stack Trace (System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke( {yadda yadda} )
when I try to debug unit tests in MonoDevelop. I'm running MonoDevelop 3.0.3.2 on Lubuntu installed from the standard repo. I have referenced the mono versions of nunit (I'm not sure why there are standard and mono versions either?).
I have been able to debug unit tests using older versions on MonoDevelop. Example solution here: http://dl.dropbox.com/u/30149716/DebugUnitTest.zip
I have downloaded the above and successfully debugged in VS (having change the unit refs of course)
================ EDIT ================
I filed a bug report: https://bugzilla.xamarin.com/show_bug.cgi?id=8442

Related

Gradle sync fails when creating a new Kotlin project with default settings in freshly installed IntelliJ IDEA

I wanted to learn some Kotlin so I installed IntelliJ IDEA, created a new Kotlin project with the default settings and then the IDE tells me that Gradle sync has failed. Here's the error message:
Could not open init generic class cache for initialization script 'C:\Users\<my_name>\AppData\Local\Temp\wrapper_init.gradle' (C:\Users\<my_name>\.gradle\caches\6.8\scripts\344chmz69zyndatc9zp4rwux5).
> BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 60
I googled the error and got a suggestion to try a different JDK version. Tried a few different versions but that didn't help. Then I installed the IDE on my laptop to see if that works and there I don't get any errors. As far as I can tell, the project settings were exactly the same on both machines but obviously something is messed up on my desktop computer. Both have Windows 10.
I'm also not at all familiar with the Java/Kotlin ecosystem or the build tools or whatever so I honestly have no idea how I could even begin fixing some Gradle errors. I don't really even know what Gradle is or what it does. So can you help me?
First, check the version which the project uses: File > Project Structure. Or, during project creation (https://i.stack.imgur.com/SXIzQ.png / example with SDK 1.8)
It has to be the same as JDK / SDK installed on your computer.
To verify java version installed in your terminal:
java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~19.10-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

chirp-react-native run-android failing for Java 11 and 12?

Tried to build chirp-react-native with Java 12 and Java 11. Will not build.
If I drop down to Java 1.8 AND set my gradle distributionUrl to gradle-4.8-all.zip in chirp-react-native/android/gradle/wrapper/gradle-wrapper.properties, the package compiles and installs correctly and I think it runs correctly.
However if it's an easy fix I'd prefer to use a current JDK. Has anyone successfully built chirp-react-native using Java 12?
Steps to reproduce:
With Java 12 set in my JAVA_HOME env variable (/Library/Java/JavaVirtualMachines/jdk12-0.1.jdk)
react-native run-android fails with this error:
Could not determine Java version from 12.0.1
If I drop down to Java 11 as JAVA_HOME, I get a similar error message:
Could not determine Java version from 11.0.3
With Java 1.8 and Gradle 4.8, everything appears to build, install and run properly.
This comment describes the reason for this error - https://github.com/facebook/react-native/issues/22487#issuecomment-443759776
You might be able to upgrade the gradle version in the android/build.gradle file.
Can you try to run ./gradlew build from the command line and check for additional log messages in console? It might be that there are some missing dependencies required by your project. What is happening if you remove ChirpSDK from the project? Can you build it with Java 11/12 and without ChirpSDK?

TeamCity NUnitTestRunner crashes with Mono 5.4.1

I was wondering why my NUnit tests were suddenly terminating successfully after 30 seconds whereas they usually take at least 20 minutes. Then I looked into the build log and found that after upgrading the mono version on our build agent to v 5.4.1, the test runner crashed with exit code 134.
After doing some research, I found out the following:
- The test runner works when using mono 4.8.1 (which we have installed, too), but the test code won't compile with it
- Ì also tried launching th erunner manually like so: /Library/Frameworks/Mono.framework/Versions/5.4.1/bin/mono -v /Applications/TeamCity/buildAgent/plugins/dotnetPlugin/bin/JetBrains.BuildServer.NUnitLauncher.exe which gave me the following error: [1] 3461 abort /Library/Frameworks/Mono.framework/Versions/5.4.1/bin/mono -v with the 3461changing every time I retry.
- According to this thread, exit code 134 means that the program crashed.
Due to the error output, I am not sure, whether it's the TeamCity test runner that crashes, mono that crashes or TeamCity that makes mono crash.
Any help appreciated :)
I finally figured it out myself. Apparently, Mono 5.4.1 lacks important NUnit2 components that were shipped with Mono 5.2 and older. To make tests work again, I had to add the NUnit.Console NuGet-package (not NUnit.ConsoleRunner as it lacks required extensions) and update the TeamCity build step to use the nunit3-console as described here.
For others that may come across this, I fixed this by changing the NUnit build steps from NUNit 2.6.3 to the NUnit 3.10. I didn't change any of my code / packages, just the TC configuration.

How can I run a Xamarin.UITest from the commandline?

I would like to run tests (made using Xamarin.UITest) on my build server, which runs TeamCity on OS X.
I have searched online on how to do this, but I am only able to find how these tests can be submitted to Xamarin Test Cloud. This is not what I want, I want to run the tests I wrote directly on devices (and/or simulators) connected to the build server.
according to the docs (requires NUnit 2.6.3)
$ mono <path-to>/Nunit-2.6.3/bin/nunit-console.exe <path/to/uitest-assembly.dll>
Here is what I do on OS-X:
Locally install the correct nunit-console.exe version
Build the app
Build the uitests
Run the tests
Example:
nuget install NUnit.Runners -Version 2.6.4
xbuild iOS/UITestFromCmdLine.iOS.csproj /target:Build
xbuild UITests/UITestFromCmdLine.UITests.csproj
mono ./NUnit.Runners.2.6.4/tools/nunit-console.exe UITests/bin/Debug/UITestFromCmdLine.UITests.dll

"Unsupported major.minor version 51.0" in Netbeans

I know that the title is almost identical to other questions, but, I've not been able to resolve my problem with those answers.
This is the problem:
I have 2 almost identical projects (one has been cloned from the other with mercurial) and some changes have been made.
After the last pull from the original project, the following error appears when I try to run the project. I know that means that the project is being compiled with java7 and run with java6.
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/[...]/Start : Unsupported major.minor version 51.0
The original project keeps running normally.
It runs if I change the Java Platform in the project properties to java7, but I need the project to run on java6, so that's not an option.
Product Version: NetBeans IDE 7.2 (Build 201207171143)
Java: 1.6.0_35; Java HotSpot(TM) 64-Bit Server VM 20.10-b01
System: Linux version 3.2.0-32-generic running on amd64; UTF-8; en_US (nb)
Thanks for your help!
You can add more than 1 jdk to your environment and you can decide which one to use. try to add the jdk 6 and compile it based on that.