summaryrefslogtreecommitdiffstats
path: root/src/tests/common (unfollow)
Commit message (Collapse)AuthorFilesLines
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