[Mono-dev] Advice on Standard Tags to represent Runtimes

Jamie Cansdale jamie.cansdale at testdriven.net
Thu Mar 5 05:26:16 EST 2009


> To run under the mono 1.0 profile, which is API version
> 1.1.4322. I admit that bit is confusing, but it has some
> basis in prior usage.
>
Ah, so it's the direct equivalent to the 'COMPlus_Version' environment
variable in .NET?

Using 'net-1.0' is like:
set COMPlus_Version=v1.0.3705
Reflector.exe

Using 'mono-1.0' is like:
mono --version=v1.0.3705 Reflector.exe

(Mono automatically maps v1.0.3705 to v1.1.4322)

For consistency we should maybe add 'mono-1.1', which would be like:
mono --version=v1.1.4322 Reflector.exe

> So you'd like to be able to select the actual mono (not api) version.
> OK, that's a new feature to look at. How would you distinguish whether
> you wanted to use the 1.0 versus the 2.0 profile under a given mono
> version? That is, the --version arg to mono.exe.
>
I think the ability to run tests in different Mono versions side by
side could be useful. Would any Mono developers like to comment? Would
you find this useful for finding regressions?

Regards,
Jamie.

--
http://www.testdriven.net
http://twitter.com/jcansdale
http://weblogs.asp.net/nunitaddin


On Thu, Mar 5, 2009 at 5:01 AM, Charlie Poole <charlie at nunit.com> wrote:
> Hi Jamie,
>
>> > In NUnit, it is now possible to specify the runtime under
>> which tests
>> > should be run. For MS CLRs, I use net-1.0, net-1.1,
>> net-2.0, etc. For
>> > mono, I use mono-1.0 and mono-2.0. I took this convention from NAnt.
>> >
>> This is confusing because NAnt uses this to specify compiler
>> tools whereas NUnit is specifying the runtime. I'm guessing
>> that in NAnt mono-1.0 means use 'gmc' and mono-2.0 means use
>> 'gmcs'.
>
> It means that when you use the csc task. But when you use
> exec it means to run under the mono 1.0 profile.
>
>> What does mono-1.0 mean in NUnit when used to specify
>> a runtime version?
>
> To run under the mono 1.0 profile, which is API version
> 1.1.4322. I admit that bit is confusing, but it has some
> basis in prior usage.
>
>> > Q1: Is this convention confusing? I considered using
>> any-1.1, etc. but
>> > that looked a bit dumb.
>> >
>> This is confusing. AFAIK there is no neat mapping between
>> .NET and Mono versions and the CLI specs.
>
> To be clear, I make no distinction at all between different
> Mono release versions - like 1.92, 2.0.1, etc.  For some apps,
> it could be necessary to specify that but it isn't currently
> available. And it's orthoghonal to the API version.
>
>> > Q2: Do you think net-x.x should be used for the generic case rather
>> > than for Microsoft?
>> >
>> .NET is a Microsoft brand. Using it for the generic case
>> would be confuse things. We could maybe use something like
>> net-x.x-equiv, but then we're back to the problem of there
>> being no neat mapping between .NET and Mono versions.
>>
>> > Q3: When the runtime under which a test should execute (in
>> a project
>> > file) would you rather see the vx.x form or an explicit combo like
>> > mono-2.0+net-2.0?
>> >
>> An explicit combo like: mono-2.0+mono-2.0.1+mono-2.2+mono-2.4+net-2.0
>
> So you'd like to be able to select the actual mono (not api) version.
> OK, that's a new feature to look at. How would you distinguish whether
> you wanted to use the 1.0 versus the 2.0 profile under a given mono
> version? That is, the --version arg to mono.exe.
>
>> This would be a great way to flush out regressions. :-)
>
> Yes, but I can see I've opened a can of worms. :-)
>
>> Regards,
>> Jamie.
>>
>> --
>> http://www.testdriven.net
>> http://twitter.com/jcansdale
>> http://weblogs.asp.net/nunitaddin
>>
>>
>> On Wed, Mar 4, 2009 at 3:13 AM, Charlie Poole
>> <charlie at nunit.com> wrote:
>> > Hi All,
>> >
>> > This is a bit OT for the dev list, but I suspect I'll get
>> more solid
>> > answers based on experience here than elsewhere.
>> >
>> > In NUnit, it is now possible to specify the runtime under
>> which tests
>> > should be run. For MS CLRs, I use net-1.0, net-1.1,
>> net-2.0, etc. For
>> > mono, I use mono-1.0 and mono-2.0. I took this convention from NAnt.
>> >
>> > These tags are used in several text files and also appear
>> in dropdowns
>> > in the GUI.
>> >
>> > The problem comes up when I want to indicate that a test
>> must be run
>> > under a particular CLR version, without regard to whether
>> it's mono,
>> > ms .NET or something else. In that case, I started to use
>> v1.0, etc.
>> > but I'm not sure it's very clear.
>> >
>> > Q1: Is this convention confusing? I considered using
>> any-1.1, etc. but
>> > that looked a bit dumb.
>> >
>> > Q2: Do you think net-x.x should be used for the generic case rather
>> > than for Microsoft? If so, what would you expect to see for
>> Microsoft.
>> >
>> > Q3: When the runtime under which a test should execute (in
>> a project
>> > file) would you rather see the vx.x form or an explicit combo like
>> > mono-2.0+net-2.0?
>> >
>> > This is something that is quite easy to change - up to the
>> point where
>> > people start using it - so I'd like to get it right the first time!
>> >
>> > Thanks,
>> > Charlie
>> >
>> >
>> >
>> > _______________________________________________
>> > Mono-devel-list mailing list
>> > Mono-devel-list at lists.ximian.com
>> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>
>
>
>


More information about the Mono-devel-list mailing list