summaryrefslogtreecommitdiff
path: root/src/tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Rework CoreTimingGravatar Kelebek12022-07-101-1/+4
|
* common/fiber: make fibers easier to useGravatar Liam2022-07-021-88/+35
|
* Core: Fix tests.Gravatar Fernando Sahmkow2022-06-281-0/+3
|
* Core: Reimplement Core Timing.Gravatar Fernando Sahmkow2022-06-281-1/+0
|
* chore: add missing SPDX tagsGravatar Andrea Pappacoda2022-04-281-3/+2
| | | | Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
* general: Convert source file copyright comments over to SPDXGravatar Morph2022-04-238-24/+16
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* cmake: make tests optionalGravatar Alexandre Bouvier2022-01-121-1/+1
|
* [input_common] Add completion test for CalibrationConfigurationJobGravatar vperus2021-11-292-1/+138
|
* logging: Simplify and make thread-safeGravatar yzct123452021-08-131-0/+2
| | | | | | | | | This simplifies the logging system. This also fixes some lost messages on startup. The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation. With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
* shader_recompiler,video_core: Cleanup some GCC and Clang errorsGravatar lat9nq2021-07-221-0/+2
| | | | | | | | | | | | | | | | | Mostly fixing unused *, implicit conversion, braced scalar init, fpermissive, and some others. Some Clang errors likely remain in video_core, and std::ranges is still a pertinent issue in shader_recompiler shader_recompiler: cmake: Force bracket depth to 1024 on Clang Increases the maximum fold expression depth thread_worker: Include condition_variable Don't use list initializers in control flow Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
* Buffer Cache: Address Feedback.Gravatar Fernando Sahmkow2021-07-101-1/+1
|
* Buffer Cache: Fix High Downloads and don't predownload on Extreme.Gravatar Fernando Sahmkow2021-07-091-1/+1
|
* common: Add unique functionGravatar ReinUsesLisp2021-07-082-0/+109
|
* common: Replace common_sizes into user-literalsGravatar Wunkolo2021-06-241-1/+3
| | | | | | | | | | | | | Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
* tests: Add tests for host memoryGravatar ReinUsesLisp2021-06-112-0/+184
|
* common: fs: Rework the Common Filesystem interface to make use of ↵Gravatar Morph2021-05-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::filesystem (#6270) * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* common: Fiber: use a reference for YieldTo.Gravatar bunnei2021-03-071-14/+14
| | | | - Fixes another small leak.
* Revert "core: Switch to unique_ptr for usage of Common::Fiber."Gravatar bunnei2021-03-051-18/+21
|
* Merge pull request #6006 from bunnei/fiber-unique-ptrGravatar bunnei2021-03-041-21/+18
|\ | | | | core: Switch to unique_ptr for usage of Common::Fiber.
| * core: Switch to unique_ptr for usage of Common::Fiber.Gravatar bunnei2021-02-271-21/+18
| | | | | | | | | | - With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context. - Fixes a memory leak due to circular reference of the shared pointer.
* | [network] Error handling reformGravatar comex2021-02-282-0/+29
|/ | | | | | | | | | | | | | | | | | | | | `network.cpp` has several error paths which either: - report "Unhandled host socket error=n" and return `SUCCESS`, or - switch on a few possible errors, log them, and translate them to Errno; the same switch statement is copied and pasted in multiple places in the code Convert these paths to use a helper function `GetAndLogLastError`, which is roughly the equivalent of one of the switch statements, but: - handling more cases (both ones that were already in `Errno`, and a few more I added), and - using OS functions to convert the error to a string when logging, so it'll describe the error even if it's not one of the ones in the switch statement. - To handle this, refactor the logic in `GetLastErrorMsg` to expose a new function `NativeErrorToString` which takes the error number explicitly as an argument. And improve the Windows version a bit. Also, add a test which exercises two random error paths.
* common/cityhash: Use common typesGravatar ReinUsesLisp2021-02-181-2/+2
| | | | | | | | Allow sharing return types with the rest of the code base. For example, we use 'u128 = std::array<u64, 2>', meanwhile Google's code uses 'uint128 = std::pair<u64, u64>'. While we are at it, use size_t instead of std::size_t.
* tests: Add tests for CityHashGravatar ReinUsesLisp2021-02-182-0/+23
|
* tests/buffer_base: Add cached CPU writes testsGravatar ReinUsesLisp2021-02-131-0/+76
| | | | Ensure the behavior of the previous commit in tests.
* ring_buffer: Remove granularity template argumentGravatar MerryMage2021-02-061-5/+5
| | | | | | Non-obvious bug in RingBuffer::Push(std::vector<T>&) when granularity != 1 Just remove it altogether because we do not have a use for granularity != 1
* Merge pull request #5262 from ReinUsesLisp/buffer-baseGravatar Rodrigo Locatti2021-01-162-0/+474
|\ | | | | buffer_cache/buffer_base: Add a range tracking buffer container and tests
| * tests: Add unit tests for the GPU range tracking buffer containerGravatar ReinUsesLisp2021-01-132-0/+474
| | | | | | | | | | | | | | | | | | Due to how error prone the container design is, this commit adds unit tests for it. Some tests taken from here are based on bugs from using this buffer container in games, so if we ever break it in the future in a way that might harm games, the tests should fail.
* | common/bit_util: Replace CLZ/CTZ operations with standardized onesGravatar Lioncash2021-01-152-24/+0
|/ | | | Makes for less code that we need to maintain.
* tests/ring_buffer: Silence signed/unsigned mismatch warningsGravatar ReinUsesLisp2021-01-081-15/+15
|
* general: Fix various spelling errorsGravatar Morph2021-01-021-2/+2
|
* memory: Remove MemoryHookGravatar MerryMage2021-01-013-240/+0
|
* hle: kernel: Separate KScheduler from GlobalSchedulerContext class.Gravatar bunnei2020-12-062-56/+0
|
* tests: Fix warning about comparison between signed and unsignedGravatar comex2020-11-271-2/+2
|
* tests: Fix data race in fibers testGravatar ReinUsesLisp2020-10-281-31/+40
| | | | | | | | | | | | | | | | | | | Previous to this commit, the tests were using operator[] from unordered_map to query elements but this silently inserts empty elements when they don't exist. If all threads were executed without concurrency, this wouldn't be an issue, but the same unordered_map could be written from two threads at the same time. This is a data race and makes some previously inserted elements invisible for a short period of time, causing them to insert and return an empty element. This default constructed element (a zero) was used to index an array of fibers that asserted when one of them was nullptr, shutting the test session off. To address this issue, lock on thread id reads and writes. This could be a shared mutex to allow concurrent reads, but the definition of std::this_thread::get_id is fuzzy when using non-standard techniques like fibers. I opted to use a standard mutex. While we are at it, fix the included headers.
* tests/core_timing: Remove pragma optimize(off)Gravatar Lioncash2020-08-031-9/+5
| | | | | | | | | | | | | I made a review comment about this in the PR that this was introduced in (#3955, commit 71c4779211dc081a3b2dd4af52edad5748e7a7f5), but it seems to have been missed. We shouldn't be using this pragma here because it's MSVC specific. This causes warnings on other compilers. The test it's surrounding is *extremely* dubious, but for the sake of silencing warnings on other compilers, we can mark "placebo" as volatile and be on with it.
* core_timing: Make use of uintptr_t to represent user_dataGravatar Lioncash2020-07-271-2/+2
| | | | Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
* core_timing: Make TimedCallback take std::chrono::nanosecondsGravatar Lioncash2020-07-151-6/+8
| | | | Enforces our desired time units directly with a concrete type.
* core_timing: Make use of std::chrono with ScheduleEventGravatar Lioncash2020-07-151-5/+8
|
* Core/Common: Address Feedback.Gravatar Fernando Sahmkow2020-06-271-1/+1
|
* Tests/CoreTiming: Correct host timing tests.Gravatar Fernando Sahmkow2020-06-272-157/+14
|
* CoreTiming: Correct rebase bugs and other miscellaneous things.Gravatar Fernando Sahmkow2020-06-271-4/+6
|
* General: Cleanup legacy code.Gravatar Fernando Sahmkow2020-06-271-0/+1
|
* General: Recover Prometheus project from harddrive failure Gravatar Fernando Sahmkow2020-06-272-100/+85
| | | | | | | This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
* Tests/HostTiming: Correct GCC Compile error.Gravatar Fernando Sahmkow2020-06-181-15/+14
|
* Common/Fiber: Implement Rewinding.Gravatar Fernando Sahmkow2020-06-181-0/+46
|
* Common/Tests: Address FeedbackGravatar Fernando Sahmkow2020-06-182-24/+24
|
* Common/Tests: Clang Format.Gravatar Fernando Sahmkow2020-06-181-9/+14
|
* Common: Implement WallClock Interface and implement a native clock for x64Gravatar Fernando Sahmkow2020-06-181-26/+19
|
* Tests: Add base tests to host timingGravatar Fernando Sahmkow2020-06-182-0/+151
|
* Common: Polish Fiber class, add comments, asserts and more tests.Gravatar Fernando Sahmkow2020-06-181-1/+94
|