Replace unicorn bindings with Nuget package (#4378)

* Replace unicorn bindings with Nuget package

* Use nameof for ValueSource args

* Remove redundant code from test projects

* Fix wrong values for EmuStart()

Add notes to address this later again

* Improve formatting

* Fix formatting/alignment issues
This commit is contained in:
TSRBerry 2023-02-09 02:24:32 +01:00 committed by GitHub
parent b3f0978869
commit ec8d4f3af5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
64 changed files with 2276 additions and 3576 deletions

View file

@ -13,17 +13,17 @@ namespace Ryujinx.Tests.Cpu
#region "ValueSource (Types)"
private static ulong[] _8B4H2S_()
{
return new ulong[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
0x8080808080808080ul, 0x7FFF7FFF7FFF7FFFul,
0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
0x8000000080000000ul, 0xFFFFFFFFFFFFFFFFul };
return new[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
0x8080808080808080ul, 0x7FFF7FFF7FFF7FFFul,
0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
0x8000000080000000ul, 0xFFFFFFFFFFFFFFFFul };
}
#endregion
#region "ValueSource (Opcodes)"
private static uint[] _Vbic_Vbif_Vbit_Vbsl_Vand_Vorn_Vorr_Veor_I_()
{
return new uint[]
return new[]
{
0xf2100110u, // VBIC D0, D0, D0
0xf3300110u, // VBIF D0, D0, D0
@ -38,7 +38,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _Vbic_Vorr_II_()
{
return new uint[]
return new[]
{
0xf2800130u, // VBIC.I32 D0, #0 (A1)
0xf2800930u, // VBIC.I16 D0, #0 (A2)
@ -48,16 +48,14 @@ namespace Ryujinx.Tests.Cpu
}
#endregion
private const int RndCnt = 2;
[Test, Pairwise]
public void Vbic_Vbif_Vbit_Vbsl_Vand_Vorn_Vorr_Veor_I([ValueSource("_Vbic_Vbif_Vbit_Vbsl_Vand_Vorn_Vorr_Veor_I_")] uint opcode,
public void Vbic_Vbif_Vbit_Vbsl_Vand_Vorn_Vorr_Veor_I([ValueSource(nameof(_Vbic_Vbif_Vbit_Vbsl_Vand_Vorn_Vorr_Veor_I_))] uint opcode,
[Range(0u, 5u)] uint rd,
[Range(0u, 5u)] uint rn,
[Range(0u, 5u)] uint rm,
[Values(ulong.MinValue, ulong.MaxValue)] [Random(RndCnt)] ulong z,
[Values(ulong.MinValue, ulong.MaxValue)] [Random(RndCnt)] ulong a,
[Values(ulong.MinValue, ulong.MaxValue)] [Random(RndCnt)] ulong b,
[Values(ulong.MinValue, ulong.MaxValue)] ulong z,
[Values(ulong.MinValue, ulong.MaxValue)] ulong a,
[Values(ulong.MinValue, ulong.MaxValue)] ulong b,
[Values] bool q)
{
if (q)
@ -83,10 +81,10 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
public void Vbic_Vorr_II([ValueSource("_Vbic_Vorr_II_")] uint opcode,
public void Vbic_Vorr_II([ValueSource(nameof(_Vbic_Vorr_II_))] uint opcode,
[Values(0u, 1u)] uint rd,
[Values(ulong.MinValue, ulong.MaxValue)] [Random(RndCnt)] ulong z,
[Values(byte.MinValue, byte.MaxValue)] [Random(RndCnt)] byte imm,
[Values(ulong.MinValue, ulong.MaxValue)] ulong z,
[Values(byte.MinValue, byte.MaxValue)] byte imm,
[Values(0u, 1u, 2u, 3u)] uint cMode,
[Values] bool q)
{
@ -119,9 +117,9 @@ namespace Ryujinx.Tests.Cpu
public void Vtst([Range(0u, 5u)] uint rd,
[Range(0u, 5u)] uint rn,
[Range(0u, 5u)] uint rm,
[ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
[ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
[ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
[ValueSource(nameof(_8B4H2S_))] ulong z,
[ValueSource(nameof(_8B4H2S_))] ulong a,
[ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0u, 1u, 2u)] uint size,
[Values] bool q)
{
@ -152,4 +150,4 @@ namespace Ryujinx.Tests.Cpu
}
#endif
}
}
}