[Mono-devel-list] System.Drawing Tests - image recognition similarities

2005-05-30 Thread RafaelMizrahi
Hi Jordi, (and mono devs)
Mainsoft wish to invest some effort in testing System.Drawing.
We wish to enhance the test suite with an image compare component which will
compare the difference between the expected .NET image and the mono image. 

The comparer (which we just started prototyping it) will be customized and
produce a result according to several algorithms:
* Prior to compare: format, size, colors, resolution
* Color - strip boarders; compare histograms to get top colors and areas. 
* Edge Detect - edge detection, and line generation, compare line lists.
* Histogram to detect shapes
* FFT (or cosine transform) of sub-regions or the whole image.
* Tangent space Vectors


* I appreciate your inputs?
* Do you recommend on a curtain GPL library?
* Does anyone have such task in his TODO list?

-
Mizrahi Rafael
Dev/QA Team Leader
Mainsoft

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] Determine the name and/or kind of CLI runtime environment

2005-05-30 Thread Kornél Pál

Hi,

Is there any official or unofficial but working way to determine what kind
of CLI runtime environment is executing the assembly?

There are at least three of them:
-Microsoft .NET Framework
-Mono
-DotGNU Portable.NET

They have different interfaces to low level runtime functionality and it is
good if an error report contains the name of the CLI runtime as well.

What do you recommend on detecting Mono from managed code?

Kornl

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] Test policy proposition

2005-05-30 Thread Atsushi Eno

Hi,

We will never add those massive standalone tests into NUnit test
(note that they are going to be separate module).

But it still sounds nice to develop such integration as long
as it is *optional* run.

Note that the discussion also applies to the whole standalone
test things BTW.

Atsushi Eno

RafaelMizrahi wrote:

Hi Andrew and Atsushi,
I suggest that all stand_alone test suites will output NUnit report.
This way they can be included in build, regression reports etc' .

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] System.Drawing Tests - image recognition similarities

2005-05-30 Thread Ben Maurer
On Mon, 2005-05-30 at 11:05 +0300, RafaelMizrahi wrote:
 Hi Jordi, (and mono devs)
 Mainsoft wish to invest some effort in testing System.Drawing.
 We wish to enhance the test suite with an image compare component which will
 compare the difference between the expected .NET image and the mono image. 
 
 The comparer (which we just started prototyping it) will be customized and
 produce a result according to several algorithms:
 * Prior to compare: format, size, colors, resolution
 * Color - strip boarders; compare histograms to get top colors and areas. 
 * Edge Detect - edge detection, and line generation, compare line lists.
 * Histogram to detect shapes
 * FFT (or cosine transform) of sub-regions or the whole image.
 * Tangent space Vectors

What if, rather than comparing the mono and .net image -- which could be
different due to, eg, differences in the anti-alias methods used -- you
did the following:

  * Run the test suites on both mono and msft
  * Compare the images. If the images are similar enough to consider
the test as passing, mark the test as pass. Obviously this is
a manual process.
  * Check in the binary images that are generated by *mono* for all
sucessful runs
  * Test that the images stay the same pixel by pixel (ie, that the
binary data of the image is the same).

This makes the assumption that in general, Cairo is deterministic in how
it renders an image. This is probably a reasonable assumption.

-- Ben

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] Re: Test policy proposition

2005-05-30 Thread Atsushi Eno

Oh, forgot to mention the patch. It is fine, especially it is nice
to have the description on the test output in README :-)

Atsushi Eno

Better yet, have the whole patch, I hope, it's self-explaining. If not, 
we'll talk.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


RE: [Mono-devel-list] Test policy proposition

2005-05-30 Thread RafaelMizrahi
Atsushi, 
I did not suggest to convert or to run them as NUnit,
I just suggest that it is better to have their output as NUnit report.

-
Mizrahi Rafael
-Original Message-
From: Atsushi Eno [mailto:[EMAIL PROTECTED] 
Sent: Monday, May 30, 2005 5:12 PM
To: RafaelMizrahi
Cc: 'Andrew Skiba'; 'mono-devel mailing list'
Subject: Re: [Mono-devel-list] Test policy proposition

Hi,

We will never add those massive standalone tests into NUnit test
(note that they are going to be separate module).

But it still sounds nice to develop such integration as long
as it is *optional* run.

Note that the discussion also applies to the whole standalone
test things BTW.

Atsushi Eno

RafaelMizrahi wrote:
 Hi Andrew and Atsushi,
 I suggest that all stand_alone test suites will output NUnit report.
 This way they can be included in build, regression reports etc' .

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] Test policy proposition

2005-05-30 Thread Atsushi Eno

Hi Rafi,

RafaelMizrahi wrote:
Atsushi, 
I did not suggest to convert or to run them as NUnit,

I just suggest that it is better to have their output as NUnit report.


Well, then how better is it?

We don't have time data.

asserts are always 1.

There are known failures rather than success which only has
True or False. It would be mapped to [Category (NotWorking)]
which is not reported in our NUnit tests. Or alternatively it
could be mapped to [Ignore], but there are another set of
ignore.lst file which holds tests to be ignored.

Atsushi Eno
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] Mainsoft switching to SVN : System.Data

2005-05-30 Thread Boris Kirzner

Hello all
As a part of an effort to share a common code base between Mono and 
Mainsoft, we've moved our System.Data development entirely to SVN.


Also we aim to have as more common code as possible, its completely 
clear that because of our willing to base a connected mode 
implementation on JDBC, the most of its code will remain separate 
between Mono and Mainsoft.
Thus, for the connected mode namespaces the Mainsoft-specific code 
resides in directories complementary to existing ones (for example, 
while Mono implementation of OleDb namespace located in 
System.Data.OleDb directory, Mainsoft implementation resides in 
System.Data.OleDb.jvm directory).


In addition, the Mainsoft project file, named System.Data.vmwcsproj, was 
added to SVN System.Data root directory.


Boris

--
Boris Kirzner
Mainsoft Corporation
http://www.mainsoft.com


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] debugger module does not build

2005-05-30 Thread Rodrigo B. de Oliveira
../frontend/Interpreter.cs(101) error CS0117:
`Mono.Debugger.ThreadManager' does not contain a definition for
`TargetOutputEvent'

After a fresh checkout. Everything (mono/mcs/debugger) are uptodate
(rev. 45194).

Rodrigo
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] Test policy proposition

2005-05-30 Thread Atsushi Eno

Hi Rafi,

Ohh, ok, I should first say that I was talking about the results
on comparing NUnit's resulting xml (TestResult-*.xml) structures.


We don't have time data.


If I understand you, time can be Now().


Well, when it is about test-results element, you are right.

time attribute on each test-suite element is duration.


asserts are always 1.


Why is that ? the stand_alone test suite report will have one test with an
assert for each xml test, that can pass or fail.


So here I meant asserts attribute in tests.


There are known failures rather than success


In this case, Maybe Andrew proposal should remove the known failures 


Oh, no it is useful (actually I dare say it is required). We should
not *remove* important bits just to make output to be equivalent to
NUnit stuff.


And analyzing the status of the test suite should be done through the NUnit
reports system.
My major goal is to have a unified report system, and not to have a special
report for each stand_alone test suite.
I choose NUnit report because we (mainsoft and mono) already created a
report system for NUnit reports.


Why not just write a stylesheet or another simple result aggregator
that assembles test results (known failures, ignore-lists etc.)
into NUnit-like output? It would be simpler than modifying existing
output and (more importantly) keep things more human-readable.

Atsushi Eno
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] System.Drawing Tests - image recognitionsimilarities

2005-05-30 Thread Jonathan Gilbert
At 11:05 AM 30/05/2005 +0300, Mizrahi Rafael wrote:
Hi Jordi, (and mono devs)
Mainsoft wish to invest some effort in testing System.Drawing.
We wish to enhance the test suite with an image compare component which will
compare the difference between the expected .NET image and the mono image. 

The comparer (which we just started prototyping it) will be customized and
produce a result according to several algorithms:
* Prior to compare: format, size, colors, resolution
[snip]

If you can wait for a short while, there's a decent chance that a patch
enabling indexed pixel formats will make it into SVN. At the moment,
libgdiplus only does 24- and 32-bit pixel formats (and its 24-bit support
is a hack; the data is stored at 32 bpp anyway, and is converted to/from
24bpp when/if the user calls Bitmap::LockBits/UnlockBits :-).

My patch adds support for 1-, 4- and 8-bpp images, but does not address the
24-bit issue. The 24-bit issue is imposed by Cairo, which works only with
ARGB 32-bpp pixels internally; actually storing the data at 24 bpp would
mean that it would have to be upsampled for pretty much every operation
other than LockBits. It is a trade-off, but I think sacrificing speed in
only one area is better than favouring that area over all others.

Just thought I'd let you know :-)

Jonathan Gilbert


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] emitting a MethodInfo instance

2005-05-30 Thread Valient Gough
I have a MethodInfo instance that I would like to emit into IL code. 
Basically I need to emit a method call which takes a MethodInfo as an
argument, and the MethodInfo will be static when the IL code is
created.  Is there an easy way to emit a MethodInfo instance?

The method I need to provide looks like this:

void Emit_MethodInfo( ILGenerator ig, MethodInfo method )

It looks like it could be done by emitting code which looks something
like typeof([type]).GetMethod([name], [args]), but that is
non-trivial and is not efficient:
{
// typeof([type]).GetMethod([name], [args])
ig.Emit( OpCodes.Ldtoken, method.DeclaringType );
ig.EmitCall( OpCodes.Call, Type_GetTypeFromHandle, null );
ig.Emit( OpCodes.Ldstr, method.Name );

ParameterInfo[] parms = method.GetParameters();
Type[] parTypes = new Type[parms.Length];
for( int parN = 0; parN  parms.Length; ++parN)
parTypes[parN] = parms[parN].ParameterType;

// create an array to hold the types..
Emit_LoadInt( ig, parTypes.Length );
ig.Emit(OpCodes.Newarr, typeof(System.Type));

for(int i=0; iparTypes.Length; ++i)
{
ig.Emit(OpCodes.Dup);
Emit_LoadInt( ig, i );
Emit_GetTypeFromHandle( ig, parTypes[i] );
ig.Emit(OpCodes.Stelem_Ref);
}

ig.Emit( OpCodes.Call,
typeof(System.Type).GetMethod(GetMethod,
new Type[] { typeof(string), typeof(Type[]) }));
}


There must be a better way?

tia,
Valient
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] Running Programs on Mono 1.1.7 on Windows and Cygwin

2005-05-30 Thread Daniel Morgan
With the Mono 1.1.7 Windows Installer, I can run programs okay from the 
command-line, but I can not get it to work under Cygwin.  Does anyone 
know why?   Even if I try to set it via mono --config, it still does not 
work.


[EMAIL PROTECTED] ~/monosvn/sqlsharpgtk/sqlsharpgtk
$ mono --config E:\Mono-1.1.7\etc\mono\1.1\machine.config sqlsharpgtk.exe

(unknown:1088): GLib-CRITICAL **: g_convert: assertion `str != NULL' 
failed


Unhandled Exception: System.TypeInitializationException: An exception 
was thrown
by the type initializer for Mono.Data.ProviderFactory --- 
System.Configuration
.ConfigurationException: Cannot find 
E:\Mono-1.1.7\etc:\mono\1.0\machine.config

()
in 0x000a6 System.Configuration.DefaultConfig:Init ()
in 0xd System.Configuration.DefaultConfig:GetConfig (System.String 
section

Name)
in 0x00069 System.Configuration.ConfigurationSettings:GetConfig 
(System.String

sectionName)
in 0xd Mono.Data.ProviderFactory:.cctor ()--- End of inner 
exception stack

trace ---

in 0x0 unknown method
in 0x0001f Mono.Data.SqlSharp.GtkSharp.LoginDialog:PopulateProviders ()
in 0x0005b Mono.Data.SqlSharp.GtkSharp.LoginDialog:.ctor 
(Mono.Data.SqlSharp.G

tkSharp.SqlSharpGtk sqlSharpGtk)
in 0x0001c Mono.Data.SqlSharp.GtkSharp.SqlSharpGtk:Login ()
in 0x0003b Mono.Data.SqlSharp.GtkSharp.SqlSharpGtk:Main 
(System.String[] args)

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] Re: Determine the name and/or kind of CLI runtime environment

2005-05-30 Thread Kornél Pál

From: Rodrigo B. de Oliveira

My only problem is Mono.Runtime is seems not to been always there.
Could anyone suggest a better class name in mscorlib.dll?


I use Mono.Type but I'm not sure about its availability on earlier
releases.


I was looking for Mono.Type but the I realized it is System.MonoType.

It seems to been there from the beginning, it is Mono specific (in the name
as well), internal, is inside mscorlib.dll, so it is good.

Thanks for the class.:)

Proposal to make this Mono detection method official:

What about documenting that using the boolean expression
(typeof(object).Assembly.GetType(System.MonoType) != null) is the
recommented way to detect Mono?

In this case it should be documented that this sould be used only to display
the name of the runtime, if necessary runtime specific codes should be based
on the existance of classes or not thrown exceptions.

And it should be documented in MonoType.cs as well that this class should
not be removed as it is used to detect Mono.

Kornél

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-devel-list] Re: emitting a MethodInfo instance

2005-05-30 Thread Valient Gough
On 5/30/05, Valient Gough [EMAIL PROTECTED] wrote:

 void Emit_MethodInfo( ILGenerator ig, MethodInfo method )
 
 It looks like it could be done by emitting code which looks something
 like typeof([type]).GetMethod([name], [args]), but that is
 non-trivial and is not efficient:

Forgot to add, my first guess was actually to use OpCode.Ldtoken to
directly load MethodInfo, because I found the following snippet in
msdn online docs for OpCodes.LdToken:

   The following Emit constructor overloads can use the ldtoken opcode:

* ILGenerator.Emit(OpCode, MethodInfo)
* ILGenerator.Emit(OpCode, FieldInfo)
* ILGenerator.Emit(OpCode, Type)


However, when I try and emit (OpCode.Ldtoken, MethodInfo), that causes
the ILGenerator to halt in mid-opcode, and monodis shows that last
opcode as ldtoken with no args..  Perhaps ILGenerator.Emit(OpCode,
MethodInfo) only works in mono 1.1.7 where OpCode == OpCode.Call* ?

Valient
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] Determine the name and/or kind of CLI runtime environment

2005-05-30 Thread Ben Maurer
On Mon, 2005-05-30 at 10:31 +0200, Kornl Pl wrote:
 Hi,
 
 Is there any official or unofficial but working way to determine what kind
 of CLI runtime environment is executing the assembly?
 
 There are at least three of them:
 -Microsoft .NET Framework
 -Mono
 -DotGNU Portable.NET
 
 They have different interfaces to low level runtime functionality and it is
 good if an error report contains the name of the CLI runtime as well.
 
 What do you recommend on detecting Mono from managed code?

The name of the runtime alone isn't that useful. You'd probably want the
version of Mono as well.

Probably the best way to do this is to test if `basedir typeof
(object).Assembly.Location`/mcs.exe is there (using c# + bash :-), and
if it is to execute that with --version. (I guess you need to test for
gmcs.exe too, since that is what will be there for 2.0...)


If you want a simpler test, being able to load Mono.Posix via reflection
would be a pretty good one. Much better than depending on an internal
type like MonoType...

-- Ben

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-devel-list] no regression policy for System.XML

2005-05-30 Thread Atsushi Eno

Hello,


I think this should apply to the rest of the code base: the only real
solution is to run everything with each build. The Mythical Man Month
comes to mind.


It is not only about automated builds but also about hackers' builds.

Have you ever tried bugfixing and accumulative test run? Am pretty
sure that you will get stuck with your idea.

Also, some of the buildbot machines runs slowly which is inevitable,
e.g. cygwin build. Similarly, on my previous slower machine I needed
a couple of minutes to just run OASIS XSLT tests (no MSFT tests).
The builds frequently run whenever we want to verify the build sanity.

So it is enough that the entire tests runs just *often*, say, once
in a day (daily test).


Excluding the slowest test will be risky. They are slow because they
hit critical/complex paths more often than not. A bug caught here is
worth more than anywhere else.


Actually differentiating slower test and not working tests makes
little sense (we don't differentiate now).

What Andrew had in mind was (AFAIK, only) two testcases from MSFT
xslt tests whose output is megabytes of outputs.


The problem to solve is to increase the test/unit of time ratio so the
slow and critical tests can be included.


I have no idea what you have in mind, but I don't think there are
such concrete thresholds.

Atsushi Eno
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list