[Mono-dev] I would like to contribute to mono however it seems things are in flux due to the integration of .NET Core and .NET Framework; where to start?

Alexander Köplinger alex.koeplinger at outlook.com
Fri Dec 12 22:58:02 UTC 2014


Hey, take a look at the directory explanation here: https://github.com/mono/mono/#directory-roadmap 
mcs/ is the classlibrary+tools, mono/ is the runtime. If you run "make check" at the top level of mcs/ it'll cascade into each subdir, it's usually easier to just run the tests of the lib you modified, e.g. run make check in mcs/class/System.
 
As for the test errors: the Mono testsuite is quite large, so there may sometimes be tests that are failing (or ones that have race conditions, fail only on your hardware etc). It's usually best to cross check with the tests failing on Jenkins : https://jenkins.mono-project.com/job/test-mono-mainline/
 
-- Alex

 
Date: Fri, 12 Dec 2014 15:12:32 -0500
Subject: Re: [Mono-dev] I would like to contribute to mono however it seems things are in flux due to the integration of .NET Core and .NET Framework; where to start?
From: bpschoch at gmail.com
To: alex.koeplinger at outlook.com

OK, cloned and built from scratch, no problems (a lot of warnings though)

I went to mcs/class and did a 'make run-test' which is how I assume you run unit tests on the library and got errors (see below)
Is this the correct way to run unit tests?  If so what west wrong? Also any unit tests for the c-rumtime code?
Also where is a good explanation of where things get installed etc?
Thanks,Bernie Schoch
===========================================================================================







bernardhochspro:class bernardschoch$ pwd

/Users/bernardschoch/MonoSource/mono/mcs/class

bernardhochspro:class bernardschoch$ make run-test

ok=:; /Applications/Xcode.app/Contents/Developer/usr/bin/make run-test-recursive || ok=false; /Applications/Xcode.app/Contents/Developer/usr/bin/make run-test-local || ok=false; $ok

ok=:; /Applications/Xcode.app/Contents/Developer/usr/bin/make run-test-recursive || ok=false; /Applications/Xcode.app/Contents/Developer/usr/bin/make run-test-local || ok=false; $ok

cd ./../../nunit24 && /Applications/Xcode.app/Contents/Developer/usr/bin/make

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[6]: Nothing to be done for `all-local'.

/Applications/Xcode.app/Contents/Developer/usr/bin/make all-local

make[5]: Nothing to be done for `all-local'.

echo "stamp" >../../build/deps/nunit-net_4_5.stamp

MONO_PATH="./../../class/lib/net_4_5:$MONO_PATH" /Users/bernardschoch/MonoSource/mono/runtime/mono-wrapper  ./../../class/lib/net_4_5/resgen.exe Test/resources/Resources.resx || cp Test/resources/Resources.resources.prebuilt Test/resources/Resources.resources

Read in 1 resources from '/Users/bernardschoch/MonoSource/mono/mcs/class/corlib/Test/resources/Resources.resx'

Writing resource file...  Done.

MONO_PATH="./../../class/lib/net_4_5:$MONO_PATH" /Users/bernardschoch/MonoSource/mono/runtime/mono-wrapper  ./../../class/lib/net_4_5/resgen.exe Test/resources/Resources.es-ES.resx || cp Test/resources/Resources.es-ES.resources.prebuilt Test/resources/Resources.es-ES.resources

Read in 1 resources from '/Users/bernardschoch/MonoSource/mono/mcs/class/corlib/Test/resources/Resources.es-ES.resx'

Writing resource file...  Done.

MONO_PATH="./../../class/lib/net_4_5:$MONO_PATH" /Users/bernardschoch/MonoSource/mono/runtime/mono-wrapper  ./../../class/lib/net_4_5/resgen.exe Test/resources/Resources.nn-NO.resx || cp Test/resources/Resources.nn-NO.resources.prebuilt Test/resources/Resources.nn-NO.resources

Read in 1 resources from '/Users/bernardschoch/MonoSource/mono/mcs/class/corlib/Test/resources/Resources.nn-NO.resx'

Writing resource file...  Done.

MCS     [net_4_5] corlib_test_net_4_5.resources.dll

MCS     [net_4_5] corlib_test_net_4_5.resources.dll

MCS     [net_4_5] corlib_test_net_4_5.dll

ok=:; \

	PATH="/Users/bernardschoch/MonoSource/mono/runtime/_tmpinst/bin:/Users/bernardschoch/MonoSource/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" MONO_REGISTRY_PATH="/Users/bernardschoch/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" MONO_PATH="./../../class/lib/net_4_5:/Users/bernardschoch/MonoSource/mono/mcs/class/corlib/../lib/net_4_5:$MONO_PATH" /Users/bernardschoch/MonoSource/mono/runtime/mono-wrapper --debug  ./../../class/lib/net_4_5/nunit-console.exe  corlib_test_net_4_5.dll -noshadow   -exclude=NotOnMac,NotWorking,ValueAdd,CAS,InetAccess -output=TestResult-net_4_5.log -xml=TestResult-net_4_5.xml  || ok=false; \

	(echo ''; cat TestResult-net_4_5.log) | sed '1,/^Tests run: /d'; xsltproc ./../../build/nunit-summary.xsl TestResult-net_4_5.xml >> TestResult-net_4_5.log ; $ok

NUnit version 2.4.8

Copyright (C) 2002-2007 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: Unix 13.3.0.0

  CLR Version: 4.0.30319.17020 ( 3.99.0 (master/c7593a2 Fri Dec 12 14:23:17 EST 2014) )




Excluded categories: NotOnMac,NotWorking,ValueAdd,CAS,InetAccess

.........N.N..............................N.N..........N.N..............................N.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................N.N...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N.........................................................................N.....................................................................................................................................................N......N..N............N.....N.N.N.N.N...............................N.N.N..................................................................................................................................................................................................N.......................................................................................................................................................................................................................................................................................................................................................................N........N.............................................................N...........................................................................................................................................................................N.N..........................N...N.......N..N......N...................................................................................................................................................................................................................................................................................N.........................N.N.N.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N..N........................................................................................................................................................................................................................................................................................................................N.N....N.N.............................................................................................................................................................................N............................................................................................N.....................................................................................................N.........N.......................................................................................................................................................................................................................................N................N.N.N.N..N.N.N.N...........................N.N....................................................................................................................................................................................................................................................................................................................N...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N......................................................................................................................................................................N.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N...........................................................................................................................................................................................................................................................................................................................N......................................................................................................................................................................N............N.....N.N...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N.N.N.N.N.N.........................N......................................................................................................................................................................N.N....................................................N...............................................................................N..N...N..N............................N............................................................................................................................................................................................

Tests run: 9982, Failures: 0, Not run: 99, Time: 166.724 seconds







MCS     [net_4_5] Address.dll

MCS     [net_4_5] Address.dll

MCS     [net_4_5] Address.dll

MCS     [net_4_5] Address.dll

MCS     [net_4_5] Address.dll

MCS     [net_4_5] Address.dll

MCS     [net_4_5] BinarySerializationOverVersions.exe

Running vts tests...

PATH="/Users/bernardschoch/MonoSource/mono/runtime/_tmpinst/bin:/Users/bernardschoch/MonoSource/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" MONO_PATH="./../../class/lib/net_4_5:/Users/bernardschoch/MonoSource/mono/mcs/class/corlib/../lib/net_4_5:$MONO_PATH" /Users/bernardschoch/MonoSource/mono/runtime/mono-wrapper --debug  ./../../class/lib/net_4_5/nunit-console.exe -noshadow \

		Test/System.Runtime.Serialization.Formatters.Binary/VersionTolerantSerialization/net_4_5_TestLib/BinarySerializationOverVersions.exe

NUnit version 2.4.8

Copyright (C) 2002-2007 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: Unix 13.3.0.0

  CLR Version: 4.0.30319.17020 ( 3.99.0 (master/c7593a2 Fri Dec 12 14:23:17 EST 2014) )




..........

Tests run: 10, Failures: 0, Not run: 0, Time: 7.443 seconds







ok=:; /Applications/Xcode.app/Contents/Developer/usr/bin/make run-test-recursive || ok=false; /Applications/Xcode.app/Contents/Developer/usr/bin/make run-test-local || ok=false; $ok

cp Test/test-config-file System_test_net_4_5.dll.config

MCS     [net_4_5] System_test_net_4_5.dll

ok=:; \

	PATH="/Users/bernardschoch/MonoSource/mono/runtime/_tmpinst/bin:/Users/bernardschoch/MonoSource/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin" MONO_REGISTRY_PATH="/Users/bernardschoch/.mono/registry" MONO_TESTS_IN_PROGRESS="yes" MONO_PATH="./../../class/lib/net_4_5::$MONO_PATH" /Users/bernardschoch/MonoSource/mono/runtime/mono-wrapper --debug  ./../../class/lib/net_4_5/nunit-console.exe  System_test_net_4_5.dll -noshadow   -exclude=NotOnMac,NotWorking,ValueAdd,CAS,InetAccess -output=TestResult-net_4_5.log -xml=TestResult-net_4_5.xml  || ok=false; \

	(echo ''; cat TestResult-net_4_5.log) | sed '1,/^Tests run: /d'; xsltproc ./../../build/nunit-summary.xsl TestResult-net_4_5.xml >> TestResult-net_4_5.log ; $ok

NUnit version 2.4.8

Copyright (C) 2002-2007 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: Unix 13.3.0.0

  CLR Version: 4.0.30319.17020 ( 3.99.0 (master/c7593a2 Fri Dec 12 14:23:17 EST 2014) )




Excluded categories: NotOnMac,NotWorking,ValueAdd,CAS,InetAccess

...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N..................N.............................................................................................................................................................N.N................................N.....N...............N.....N................................................................................................................................................................................................N..N.N....N.....N..N..N......................N..................N.N.N.N.N.N.N.........................................................................................................................................................................................F........................................................................................................................N.N...............................................................F............N........N.................N..N....................................N.......N........................................................................................................................................................................................................................................................................................................................................................................N.......................................................................................................................................................................................................................................................................................................................................................................N.............................................N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N.N........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................N.N.N.N.N.N.N.N.N.N.N.N.N.N......................................................................................................................N.N.........................................N.........................................................................................................................................................................................................

Tests run: 6229, Failures: 2, Not run: 125, Time: 110.820 seconds




Test Case Failures:

1) MonoTests.System.Net.DnsTest.GetHostByName : Should raise a SocketException (assuming that 'unlikely.xamarin.com' does not exist)

at MonoTests.System.Net.DnsTest.GetHostByName () [0x00089] in /Users/bernardschoch/MonoSource/mono/mcs/class/System/Test/System.Net/DnsTest.cs:212

at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)

at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00054] in /Users/bernardschoch/MonoSource/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:230




2) MonoTests.System.Net.HttpWebRequestTest.BeginGetRequestStreamNoClose : Test hung.

at MonoTests.System.Net.HttpWebRequestTest.DoRequest (System.Action`2 request, System.Action`1 processor) [0x000b0] in /Users/bernardschoch/MonoSource/mono/mcs/class/System/Test/System.Net/HttpWebRequestTest.cs:2332

at MonoTests.System.Net.HttpWebRequestTest.BeginGetRequestStreamNoClose () [0x00000] in /Users/bernardschoch/MonoSource/mono/mcs/class/System/Test/System.Net/HttpWebRequestTest.cs:1921

at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)

at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00054] in /Users/bernardschoch/MonoSource/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:230







make[3]: *** [run-test-lib] Error 1

make[2]: *** [do-run-test] Error 1

make[1]: *** [run-test-recursive] Error 1

make: *** [do-run-test] Error 1

bernardhochspro:class bernardschoch$ 

On Thu, Dec 11, 2014 at 2:40 PM, Alexander Köplinger <alex.koeplinger at outlook.com> wrote:


Yeah, refreshing the contributing guides is on my list, some of them are a bit outdated.
 
I'd say you'll have a better experience developing on Mac than Windows (while Mono does work there, it's not really a priority). You can use Xamarin Studio or your text editor of choice.
The next step would be to fork and clone the code from GitHub and make sure you can actually build it (http://www.mono-project.com/docs/compiling-mono/mac/).
This guide is a good read too: http://blog.neteril.org/blog/2013/08/11/the-very-basic-guide-to-contribute-to-mono-bcl/
 
Feel free to reach out if you have more questions :)

-- Alex
 
Date: Thu, 11 Dec 2014 13:06:33 -0500
Subject: Re: [Mono-dev] I would like to contribute to mono however it seems things are in flux due to the integration of .NET Core and .NET Framework; where to start?
From: bpschoch at gmail.com
To: alex.koeplinger at outlook.com

Hey thanks for the response.

As you might imagine, jumping right into a project like this is a bit overwhelming in terms of how things are done.  Many of the links for contribution are sometimes conflicting or out of date so it's a bit hard to know where to start.


I can either develop under windows or mac, is there a preference where?  On windows I have the Visual Studio IDE, on the mac I guess I have a choice of monodevelop or xamarin (freebie).  What would be the recommendation?  Or is it preference? if so I would probably just use visual studio ide.

Comments?

Bernie 

On Thu, Dec 11, 2014 at 11:08 AM, Alexander Köplinger <alex.koeplinger at outlook.com> wrote:



I'd recomend reading this page for a background about the .NET Framework code integration into Mono: http://www.mono-project.com/docs/about-mono/dotnet-integration/
 
WCF seems to be one of the candidates that could be ported almost immediately. 
As you're offering a big chunk of time it might be best to talk directly with Miguel de Icaza (miguel at xamarin.com) to make sure your contributions do not overlap with work by the Xamarin team.
 
-- Alex

 
Date: Tue, 9 Dec 2014 17:15:12 -0500
From: bpschoch at gmail.com
To: mono-devel-list at lists.ximian.com
Subject: [Mono-dev] I would like to contribute to mono however it seems things are in flux due to the integration of .NET Core and .NET Framework; where to start?

For example, I'm looking at say WCF as a possibility but some questions pop up?
Will WCF be part of .NET Core? if so should we wait until it's in .NET Core?
If not, then obviously it's a move from .NET Framework.  Are unit test available for WCF?  Would there be a duplication of work if MS has some forthcoming?

BTW I just picked WCF as an example as it seemed high on the list.

I guess I'm saying, where would I be most useful say with contributing 20+ hours a week in the near term (I'm between contract/jobs right now)

BTW I've been doing software development for over 30 years on all sorts of platforms and languages but specializing in .NET since the initial .NET developer conference in 2000.

Bernie Schoch


_______________________________________________
Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list 		 	   		  

 		 	   		  
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20141212/fb1f5108/attachment-0001.html>


More information about the Mono-devel-list mailing list