summaryrefslogtreecommitdiffstats
path: root/src/tests/common (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda2-6/+4
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-02common/fiber: make fibers easier to useLiam1-88/+35
2022-04-23general: Convert source file copyright comments over to SPDXMorph5-15/+10
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.
2021-08-13logging: Simplify and make thread-safeyzct123451-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.
2021-07-23shader_recompiler,video_core: Cleanup some GCC and Clang errorslat9nq1-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>
2021-07-09common: Add unique functionReinUsesLisp1-0/+108
2021-06-24common: Replace common_sizes into user-literalsWunkolo1-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.
2021-06-11tests: Add tests for host memoryReinUsesLisp1-0/+183
2021-03-07common: Fiber: use a reference for YieldTo.bunnei1-14/+14
- Fixes another small leak.
2021-03-06Revert "core: Switch to unique_ptr for usage of Common::Fiber."bunnei1-18/+21
2021-02-27core: Switch to unique_ptr for usage of Common::Fiber.bunnei1-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.
2021-02-18common/cityhash: Use common typesReinUsesLisp1-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.
2021-02-18tests: Add tests for CityHashReinUsesLisp1-0/+22
2021-02-06ring_buffer: Remove granularity template argumentMerryMage1-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
2021-01-15common/bit_util: Replace CLZ/CTZ operations with standardized onesLioncash1-23/+0
Makes for less code that we need to maintain.
2021-01-09tests/ring_buffer: Silence signed/unsigned mismatch warningsReinUsesLisp1-15/+15
2021-01-02general: Fix various spelling errorsMorph1-2/+2
2020-12-06hle: kernel: Separate KScheduler from GlobalSchedulerContext class.bunnei1-55/+0
2020-11-27tests: Fix warning about comparison between signed and unsignedcomex1-2/+2
2020-10-28tests: Fix data race in fibers testReinUsesLisp1-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.
2020-06-28Core/Common: Address Feedback.Fernando Sahmkow1-1/+1
2020-06-18Common/Fiber: Implement Rewinding.Fernando Sahmkow1-0/+46
2020-06-18Common/Tests: Address FeedbackFernando Sahmkow1-10/+10
2020-06-18Common/Tests: Clang Format.Fernando Sahmkow1-9/+14
2020-06-18Common: Polish Fiber class, add comments, asserts and more tests.Fernando Sahmkow1-1/+94
2020-06-18Tests: Add tests for fibers and refactor/fix Fiber classFernando Sahmkow1-0/+214
2019-03-27Fixes and corrections on formatting.Fernando Sahmkow2-30/+11
2019-03-27Add MultiLevelQueue TestsFernando Sahmkow1-0/+55
2019-03-27Implement intrinsics CountTrailingZeroes and test it.Fernando Sahmkow1-0/+42
2019-02-06common/bitfield: make it endianness-awareWeiyi Wang1-0/+90
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-10/+10
2018-09-08common: Implement a ring bufferMerryMage1-0/+130
2018-08-08externals: Update catch to 2.3.0Lioncash1-1/+1
Updates the library from 2.2.3 to 2.3.0
2018-01-21Format: Run the new clang format on everythingJames Rowe1-1/+3
2017-03-01Common: add ParamPackagewwylele1-0/+25