summaryrefslogtreecommitdiff
path: root/Source/UnitTests
AgeCommit message (Collapse)Author
8 daysAchievementApprovedHash: Automatically generate hash using CMakeJoshua Vandaële
10 daysCWDemangler: Resolve missing-declarations warningsJoshua Vandaële
11 daysRemove Visual Studio Projects and Solutions in favor of CMakeJoshua Vandaële
2026-07-11Core: Adjust emulated memory size automatically.cristian64
Dolphin now uses the simulated memory size defined in `bi2.bin` to adjust the memory size in the emulated console automatically. If **Enable Emulated Memory Size Override** has been enabled by the user, the fixed memory size specified for **MEM1** and **MEM2** are still used as they were before. Most retail games do not define the simulated memory size (Wii or Triforce games), or define it to a value that matches the default 24 MiB (GameCube games), so, in the general case, there is no behavior change. One game that sets the simulated memory to a non-default value is the debug build of _Mario Kart: Double Dash!!_, where the value is set to 48 MiB. This enhancement is focused mainly to the modding community. Prior to these changes, modded games with extended memory requirements would fail to launch in Dolphin [with no indication of what the problem is] if the user failed to set the emulated memory override to the correct value. Now, modding tools can specify the simulated memory size in the `bi2.bin` file to produce extended games that _just work_ in Dolphin, without cumbersome instructions that can be overlooked by the user.
2026-05-07Core: Implement automatic symbol demanglingAmber Brault
2026-04-27Merge pull request #13931 from SuperSamus/pikmin-squared-60fpsJMC47
GameINI: Add 60 FPS code for Pikmin Squared
2026-04-25Merge pull request #14308 from jordan-woyak/character-encodingJordan Woyak
StringUtil: Make UTF16ToUTF8 and UTF8ToUTF16 use custom encoding/decoding implementation.
2026-04-25GameINI: Add 60 FPS code for Pikmin SquaredMartino Fontana
2026-04-18StringUtil: Make UTF16ToUTF8 and UTF8ToUTF16 use custom encoding/decoding ↵Jordan Woyak
implementation to eliminate usage of deprecated std::wstring_convert.
2026-04-17Improve usage of std::move and const references parametersMartino Fontana
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`. Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move. Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-04-11Merge pull request #14500 from Sintendo/span2Jordan Woyak
Replace `const std::vector&` arguments with `std::span`
2026-04-04PageTableHostMappingTest: Fix copypaste error in misaligned+hole testJosJuice
Because of this mistake, HoleInMaskMisalignedPageTable was testing the same thing as MisalignedPageTable, which wasn't the intent.
2026-04-04PageTableHostMappingTest: Fix alignment for misaligned+hole testJosJuice
Mistakenly, MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE was aligned and MISALIGNED_HOLE_MASK_PAGE_TABLE_BASE_ALIGNED was misaligned. It should be the other way around. These variables are unused due to a separate mistake which is corrected in the next commit.
2026-03-23Use more std::span argumentsSintendo
2026-02-22AchievementManager: APPROVED_LIST_HASH quality of life improvementsMartino Fontana
APPROVED_LIST_HASH is moved to a separate file, making tests compilation faster after changing it. The error message prints the hash in a way that it can be directly copy-pasted (though it still needs clang-format).
2026-02-15Network: Improve IPv4PortRange::ToString to support CIDR notation and only ↵Jordan Woyak
last octet difference.
2026-02-15Common/Network: Add structs: IPv4Port, IPv4PortRange and functions: ↵Jordan Woyak
IPAddressToString, ParseIPv4PortRange.
2026-02-15StringUtil: Add SplitStringIntoArray function template.Jordan Woyak
2026-02-04Merge pull request #13768 from JosJuice/page-table-fastmem-2JMC47
Core: Create fastmem mappings for page address translation
2026-02-04UnitTests: Add PageTableHostMappingTestJosJuice
2026-02-03Merge pull request #13594 from jordan-woyak/state-cleanupsJordan Woyak
State: Simplify interthread communication and general cleanups.
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-19Common: Add TransferableSharedMutex class and unit tests.Jordan Woyak
2026-01-18Jit64: Add fres unit testJosJuice
2026-01-17Merge pull request #14267 from jordan-woyak/std-expectediwubcode
Common: Replace Result with std::expected.
2026-01-17Common: Replace Result with C++23's std::expected.Jordan Woyak
2026-01-17Fix various typos and spelling mistakesSintendo
2025-11-27Disable PatchAllowlistTest if USE_RETRO_ACHIEVEMENTS is OFFJoshua Vandaële
This fixes a build error when `-DENABLE_TESTS=ON` and `-DUSE_RETRO_ACHIEVEMENTS=OFF` are both set together, since AchievementManager is also behind an ifdef.
2025-11-16Merge pull request #13689 from JosJuice/lock-core-any-threadJosJuice
Core: Let any thread call previously host-thread-only functions
2025-11-10Core: Remove IsHostThreadJosJuice
The core no longer cares which thread is the host thread. Cleaning up Android's HostThreadLock is left for another PR, in part because the HostThreadLock in NativeConfig.cpp still serves a purpose, and in part to make any issues easier to bisect.
2025-11-09Common: Add a DirectIOFile class that allows for copies which are entirely ↵Jordan Woyak
thread safe.
2025-11-08Merge pull request #14020 from jordan-woyak/string-util-cleanupsJosJuice
StringUtil: Cleanups and add some character encoding conversion unit tests.
2025-11-02Common: Add AtomicMutex and SpinMutex classes as faster alternatives to ↵Jordan Woyak
std::mutex.
2025-11-02UnitTests: Add some StringUtil character encoding conversion tests.Jordan Woyak
2025-10-08Jit64: Dynamic length of regular jump instruction (for known addresses)Martino Fontana
Conditional jumps already do that, so let's be consistent.
2025-09-26Merge pull request #13940 from iwubcode/glslang_updateJMC47
Externals / VideoCommon: update glslang to latest, turn into submodule
2025-09-23Externals / VideoCommon: update glslang to latest, turn into submoduleiwubcode
2025-09-17Merge pull request #13874 from sepalani/bitcast-ptrJMC47
Common/BitUtils: Add operator[] to BitCastPtrType
2025-08-27MathUtil: Simplify SaturatingCast implementation with ↵Jordan Woyak
std::cmp_less/cmp_greater and fix a floating point edge case. Thanks to Dentomologist for catching the edge case.
2025-08-18Common/BitUtils: Add operator[] to BitCastPtrTypeSepalani
2025-08-10Merge pull request #13846 from JoshuaVandaele/better-xcbTilka
Qt: Better wayland detection to enforce xcb
2025-08-04Qt: Better wayland detection to enforce xcbJoshua Vandaële
In certain cases, the platform can be "wayland-egl", "wayland-xcomposite", and other values for which I haven't found a full list yet. Instead of matching only "wayland", we now look for "wayland" anywhere in the `QT_QPA_PLATFORM` string in a case-insensitive manner. Acknowledgements: `CaseInsensitiveContains`' implementation was heavily inspired by GNU's non-standard glibc `strcasestr` function, which can be found here licensed under GPLv2 or later: https://ftp.gnu.org/gnu/libc/
2025-08-03Host: Remove unnecessary functionsDentomologist
Remove Host_RefreshDSPDebuggerWindow (which hasn't done anything since DolphinWX was removed in 44b22c90) and DSP::Host::UpdateDebugger (which only called Host_RefreshDSPDebuggerWindow).
2025-08-03Host: Remove unnecessary functionDentomologist
Remove Host_UpdateMainFrame(). The only non-empty call happened in DolphinNoGUI which called s_update_main_frame_event.Set(), but DolphinNoGUI never waits on that event.
2025-07-16Merge pull request #13783 from jordan-woyak/schedule-event-from-thread-fixJMC47
CoreTiming: Fix unsafe usage of m_globals.global_timer in ScheduleEvent from non-CPU thread.
2025-07-12Fix various warningsJoshua Vandaële
2025-06-29CoreTiming: Fix unsafe usage of m_globals.global_timer in ScheduleEvent from ↵Jordan Woyak
non-CPU thread.
2025-06-14Source: Remove redundant lambda parameter listsDr. Dystopia
2025-06-08Merge pull request #13676 from ↵JMC47
LillyJadeKatrin/retroachievements-allowlist-test-improvements RetroAchievements: Updated PatchAllowlistTest to generate new allowlist
2025-06-07Merge pull request #13023 from tygyh/Replace-ties-with-structured-bindingsJordan Woyak
UnitTests: Replace ties with structured bindings