kekyo / IL2C

IL2C - A translator for ECMA-335 CIL/MSIL to C language.
Apache License 2.0
403 stars 36 forks source link

GitHub Actions configuration 2 #108

Closed kekyo closed 3 years ago

kekyo commented 3 years ago

Because IL2C building and testing are consumed many computing time and slower on GitHub Actions. I need to switch self hosting and configured as code.

kekyo commented 3 years ago

I found failure linux regression test in part of Interoperability, it requires to rewrite using posix API sets.

kekyo commented 3 years ago

Fixed failure all regression test on linux mono. And got results failure over 100 tests.

Interesting cases:

  Failed Int64ToUInt32(12345678) [955 ms]
  Error Message:
   System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Box_Narrowing:Box_Int64ToUInt32 (long): IL_0001: box       0x01000019

  Stack Trace:
    at IL2C.ILConverters.Box_Narrowing.Int64ToUInt32 (System.Int64 value) [0x00001] in <388a0caad905431c8bad8b9c06952e63>:0 
  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0007c] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 
  Failed Rem2(12345,47,26) [779 ms]
  Error Message:
   System.InvalidProgramException : Invalid IL code in IL2C.ILConverters.Br:Rem2 (int,int,int): IL_0007: rem       

  Stack Trace:
    at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0007c] in <12b418a7818c4ca0893feeaaf67f1e7f>:0 

Maybe these dump means regression test cases have invalid IL sequence and it detected by mono runtime. Strategy:

kekyo commented 3 years ago

Branch will be merged because I wanna split topics it is too large.

kekyo commented 3 years ago

Related #100