summaryrefslogtreecommitdiff
path: root/src/tests
AgeCommit message (Collapse)Author
2018-10-10kernel/thread: Use a regular pointer for the owner/current processLioncash
There's no real need to use a shared pointer in these cases, and only makes object management more fragile in terms of how easy it would be to introduce cycles. Instead, just do the simple thing of using a regular pointer. Much of this is just a hold-over from citra anyways. It also doesn't make sense from a behavioral point of view for a process' thread to prolong the lifetime of the process itself (the process is supposed to own the thread, not the other way around).
2018-09-30kernel/process: Make data member variables privateLioncash
Makes the public interface consistent in terms of how accesses are done on a process object. It also makes it slightly nicer to reason about the logic of the process class, as we don't want to expose everything to external code.
2018-09-24memory: Dehardcode the use of a 36-bit address spaceLioncash
Given games can also request a 32-bit or 39-bit address space, we shouldn't be hardcoding the address space range as 36-bit.
2018-09-17Merge pull request #1327 from FearlessTobi/port-4171bunnei
Port #4171 from Citra: "Tests: Remove glad test OS X work-around"
2018-09-15Tests: Remove glad test OS X work-aroundYuri Kunde Schlesner
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-09-08common: Implement a ring bufferMerryMage
2018-08-28kernel: Eliminate kernel global stateLioncash
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
2018-08-07externals: Update catch to 2.3.0Lioncash
Updates the library from 2.2.3 to 2.3.0
2018-08-03core/memory: Get rid of 3DS leftoversLioncash
Removes leftover code from citra that isn't needed.
2018-07-20arm_test_common: Get rid of truncation warningsLioncash
Explicitly cast the value to a u8 to show that this is intentional.
2018-07-20arm_test_common: Make file static variable a member variable of the testing ↵Lioncash
environment Gets rid of file-static behavior.
2018-07-20arm_test_common: Add missing header guardLioncash
2018-07-18Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-03-14core: Move process creation out of global state.bunnei
2018-03-01Kernel: Store the program id in the Process class instead of the CodeSet class.Subv
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-01-27memory: Replace all memory hooking with Special regionsMerryMage
2018-01-20Format: Run the new clang format on everythingJames Rowe
2018-01-17CMakeLists: Derive the source directory grouping from targets themselvesLioncash
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
2018-01-13Fix build on macOS and linuxMerryMage
2018-01-08CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n30
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-02arm: Remove SkyEye/Dyncom code that is ARMv6-only.bunnei
2017-10-14hle: Initial implementation of NX service framework and IPC.bunnei
2017-10-09Merge remote-tracking branch 'upstream/master' into nxbunnei
# Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
2017-09-30nso: Refactor and allocate .bss section.bunnei
2017-09-30Moved down_count to CoreTimingHuw Pascoe
2017-09-26Tests: Added Memory::IsValidVirtualAddress tests.Subv
2017-09-26Tests: Fixed ARM VFP testsSubv
2017-09-24memory: Add GetCurrentPageTable/SetCurrentPageTableMerryMage
Don't expose Memory::current_page_table as a global.
2017-09-15Tests/VFP: Use a standalone pagetable for the TestEnvironment memory operations.Subv
This fixes building the tests
2017-07-23tests: Add tests for vaddMerryMage
2017-07-23tests: Arm testing frameworkMerryMage
2017-06-22Kernel: Fix typo in test nameYuri Kunde Schlesner
2017-06-21Kernel/IPC: Support translation of null handlesYuri Kunde Schlesner
Missed this in my first implementation. Thanks to @wwylele for pointing out that this was missing.
2017-06-18Kernel/IPC: Add tests for HLERequestContext buffer translationYuri Kunde Schlesner
2017-05-27CMake: Create an INTERFACE target for CatchYuri Kunde Schlesner
2017-05-27CMake: Correct inter-module dependencies and library visibilityYuri Kunde Schlesner
Modules didn't correctly define their dependencies before, which relied on the frontends implicitly including every module for linking to succeed. Also changed every target_link_libraries call to specify visibility of dependencies to avoid leaking definitions to dependents when not necessary.
2017-03-01Common: add ParamPackagewwylele
2016-12-07tests: add missing libcore dependency after 75ee2f8c6702Jan Beich
$ (cmake -DENABLE_SDL2:BOOL=false /path/to/citra; gmake) [...] [ 85%] Linking CXX executable tests ../common/libcommon.a(microprofile.cpp.o): In function `MicroProfileThreadStart(pthread**, void* (*)(void*))': src/common/microprofile.cpp:(.text+0x41): undefined reference to `pthread_create' c++: error: linker command failed with exit code 1 (use -v to see invocation)
2016-11-19tests: add a work-around for macOS linking errorwwylele
2016-11-19FileSys: add PathParserwwylele
2016-05-19Tests: Run tests on CIMerryMage
2016-05-19tests: Infrastructure for unit testsMerryMage