mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
UnitTests: Use hermes.s as part of an actual test
Before, the file just existed as the source code for HermesBinary.cpp, but we can test that things assemble correctly too (compare DSPTestBinary.cpp and DSPTestText.cpp). A bit of jank is needed due to MSVC limitations (see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026?view=msvc-170).
This commit is contained in:
parent
2193c8964e
commit
3cb0976367
@ -8,6 +8,7 @@ add_dolphin_test(DSPAssemblyTest
|
||||
DSP/DSPTestBinary.cpp
|
||||
DSP/DSPTestText.cpp
|
||||
DSP/HermesBinary.cpp
|
||||
DSP/HermesText.cpp
|
||||
)
|
||||
|
||||
add_dolphin_test(ESFormatsTest IOS/ES/FormatsTest.cpp)
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "DSPTestBinary.h"
|
||||
#include "DSPTestText.h"
|
||||
#include "HermesBinary.h"
|
||||
#include "HermesText.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
@ -129,6 +130,11 @@ TEST(DSPAssembly, ExtendedInstructions)
|
||||
" ADDAXL'MV $ACC1, $AX1.L : $AX1.H, $AC1.M\n"));
|
||||
}
|
||||
|
||||
TEST(DSPAssembly, HermesText)
|
||||
{
|
||||
ASSERT_TRUE(SuperTrip(s_hermes_text));
|
||||
}
|
||||
|
||||
TEST(DSPAssembly, HermesBinary)
|
||||
{
|
||||
ASSERT_TRUE(RoundTrip(s_hermes_bin));
|
||||
@ -143,12 +149,3 @@ TEST(DSPAssembly, DSPTestBinary)
|
||||
{
|
||||
ASSERT_TRUE(RoundTrip(s_dsp_test_bin));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
if (File::ReadFileToString("C:/devkitPro/examples/wii/asndlib/dsptest/dsp_test.ds", &dsp_test))
|
||||
SuperTrip(dsp_test.c_str());
|
||||
|
||||
//.File::ReadFileToString("C:/devkitPro/trunk/libogc/libasnd/dsp_mixer/dsp_mixer.s", &dsp_test);
|
||||
// This is CLOSE to working. Sorry about the local path btw. This is preliminary code.
|
||||
*/
|
||||
|
@ -9,7 +9,9 @@ SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
*/
|
||||
|
||||
#include "HermesText.h"
|
||||
|
||||
const char s_hermes_text[21370] = R"(
|
||||
/********************************/
|
||||
/** REGISTER NAMES **/
|
||||
/********************************/
|
||||
@ -542,7 +544,11 @@ no_delay:
|
||||
/////////////////////////////////////
|
||||
// end of delay time section
|
||||
/////////////////////////////////////
|
||||
|
||||
)" // Work around C2026 on MSVC, which allows at most 16380 single-byte characters in a single
|
||||
// non-concatenated string literal (but you can concatenate multiple shorter string literals to
|
||||
// produce a longer string just fine). (This comment is not part of the actual test program,
|
||||
// and instead there is a single blank line at this location.)
|
||||
R"(
|
||||
/* bucle de generacion de samples */
|
||||
|
||||
|
||||
@ -1077,4 +1083,4 @@ polla_loca:
|
||||
clr $ACC0
|
||||
jmp recv_cmd
|
||||
|
||||
|
||||
)";
|
8
Source/UnitTests/Core/DSP/HermesText.h
Normal file
8
Source/UnitTests/Core/DSP/HermesText.h
Normal file
@ -0,0 +1,8 @@
|
||||
// Copyright 2022 Dolphin Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
extern const char s_hermes_text[21370];
|
@ -28,6 +28,7 @@
|
||||
<ClInclude Include="Core\DSP\DSPTestBinary.h" />
|
||||
<ClInclude Include="Core\DSP\DSPTestText.h" />
|
||||
<ClInclude Include="Core\DSP\HermesBinary.h" />
|
||||
<ClInclude Include="Core\DSP\HermesText.h" />
|
||||
<ClInclude Include="Core\IOS\ES\TestBinaryData.h" />
|
||||
<ClInclude Include="Core\PowerPC\TestValues.h" />
|
||||
</ItemGroup>
|
||||
@ -60,6 +61,7 @@
|
||||
<ClCompile Include="Core\DSP\DSPTestBinary.cpp" />
|
||||
<ClCompile Include="Core\DSP\DSPTestText.cpp" />
|
||||
<ClCompile Include="Core\DSP\HermesBinary.cpp" />
|
||||
<ClCompile Include="Core\DSP\HermesText.cpp" />
|
||||
<ClCompile Include="Core\IOS\ES\FormatsTest.cpp" />
|
||||
<ClCompile Include="Core\IOS\FS\FileSystemTest.cpp" />
|
||||
<ClCompile Include="Core\MMIOTest.cpp" />
|
||||
|
Loading…
Reference in New Issue
Block a user