Commit graph

43 commits

Author SHA1 Message Date
Alexandre Bouvier
5c2cf39455 tests: update catch2 to 3.0.1 2023-01-05 04:58:31 +01:00
Fernando Sahmkow
12a76465b9 MacroHLE: Reduce massive calculations on sizing estimation. 2023-01-01 16:43:57 -05:00
ameerj
37ac7d7841 tests: Add ScratchBuffer tests 2022-12-19 18:08:04 -05:00
ameerj
bbf3e7f313 CMake: Use precompiled headers 2022-11-29 18:50:49 -05:00
Andrea Pappacoda
6a2efdda2f chore: make yuzu REUSE compliant
[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 b2eb103829
2022-07-27 12:53:49 +02:00
FearlessTobi
60008b680e yuzu: Add ui files for multiplayer rooms 2022-07-25 21:59:28 +02:00
Alexandre Bouvier
4b791bcad7 cmake: make tests optional 2022-01-12 00:36:20 +01:00
vperus
bd95c199bc [input_common] Add completion test for CalibrationConfigurationJob 2021-11-29 16:33:12 +02:00
ReinUsesLisp
3a0e4487ba common: Add unique function 2021-07-08 19:03:19 -03:00
ReinUsesLisp
ba034a5724 tests: Add tests for host memory 2021-06-11 17:27:06 +02:00
comex
4258b4985a [network] Error handling reform
`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.
2021-02-28 17:25:31 -05:00
ReinUsesLisp
58ed3fa9f5 tests: Add tests for CityHash 2021-02-18 00:44:57 -03:00
Rodrigo Locatti
2fccc35fa8 Merge pull request #5262 from ReinUsesLisp/buffer-base
buffer_cache/buffer_base: Add a range tracking buffer container and tests
2021-01-16 19:48:26 -03:00
Lioncash
d5bff783bd common/bit_util: Replace CLZ/CTZ operations with standardized ones
Makes for less code that we need to maintain.
2021-01-15 02:15:32 -05:00
ReinUsesLisp
e482ac4786 tests: Add unit tests for the GPU range tracking buffer container
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.
2021-01-13 04:31:40 -03:00
MerryMage
e3490b55c1 memory: Remove MemoryHook 2021-01-01 11:34:38 +00:00
bunnei
4f16c961c9 hle: kernel: Separate KScheduler from GlobalSchedulerContext class. 2020-12-06 00:03:24 -08:00
Fernando Sahmkow
7ee76003ad General: Recover Prometheus project from harddrive failure
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.
2020-06-27 11:35:06 -04:00
Fernando Sahmkow
ab76c0e296 Tests: Add base tests to host timing 2020-06-18 16:29:17 -04:00
Fernando Sahmkow
279ff1c0ff Tests: Add tests for fibers and refactor/fix Fiber class 2020-06-18 16:29:15 -04:00
Fernando Sahmkow
8fd9babe62 Add MultiLevelQueue Tests 2019-03-27 14:34:31 -04:00
Fernando Sahmkow
10cedd8bd7 Implement intrinsics CountTrailingZeroes and test it. 2019-03-27 14:34:29 -04:00
Weiyi Wang
a2fa901591 common/bitfield: make it endianness-aware 2019-02-06 17:29:39 +01:00
Yuri Kunde Schlesner
089af97d09 Tests: Remove glad test OS X work-around 2018-09-15 15:24:11 +02:00
MerryMage
62e2e0a8fb common: Implement a ring buffer 2018-09-08 18:56:38 +01:00
Lioncash
3bcf090d37 core/memory: Get rid of 3DS leftovers
Removes leftover code from citra that isn't needed.
2018-08-03 11:22:47 -04:00
Zach Hilman
82150bd5c1 Virtual Filesystem 2: Electric Boogaloo (#676)
* Virtual Filesystem

* Fix delete bug and documentate

* Review fixes + other stuff

* Fix puyo regression
2018-07-18 18:07:11 -07:00
Lioncash
447c25646e CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
2018-01-17 21:51:43 -05:00
B3n30
1b2aa3780d CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
bunnei
b055ea2699 arm: Remove SkyEye/Dyncom code that is ARMv6-only. 2018-01-02 22:24:12 -05:00
bunnei
2ea8867549 hle: Initial implementation of NX service framework and IPC. 2017-10-14 22:18:42 -04:00
Subv
2420759794 Tests: Added Memory::IsValidVirtualAddress tests. 2017-09-26 17:31:50 -05:00
MerryMage
22e08c7e6b tests: Add tests for vadd 2017-07-23 12:29:51 +01:00
MerryMage
75f30767d3 tests: Arm testing framework 2017-07-23 12:08:43 +01:00
Yuri Kunde Schlesner
d8ee9cb5c3 Kernel/IPC: Add tests for HLERequestContext buffer translation 2017-06-18 16:05:58 -07:00
Yuri Kunde Schlesner
e04bfa22e7 CMake: Create an INTERFACE target for Catch 2017-05-27 22:46:59 -07:00
Yuri Kunde Schlesner
b78ce2bce5 CMake: Correct inter-module dependencies and library visibility
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-05-27 18:41:24 -07:00
wwylele
11e73d554f Common: add ParamPackage 2017-03-01 23:30:57 +02:00
Jan Beich
61f52b5d33 tests: add missing libcore dependency after 37d6cbc200
$ (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-12-07 18:30:49 +00:00
wwylele
68dc34c32b tests: add a work-around for macOS linking error 2016-11-19 18:55:35 +02:00
wwylele
37d6cbc200 FileSys: add PathParser 2016-11-19 17:17:19 +02:00
MerryMage
df2d284556 Tests: Run tests on CI 2016-05-19 19:28:08 +01:00
MerryMage
9d9970fba9 tests: Infrastructure for unit tests 2016-05-19 08:38:03 +01:00