mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-26 23:10:38 +00:00
Merge pull request #19371 from fjtrujy/master
Run unit tests on Alpine docker too
This commit is contained in:
commit
f7a72e8415
37
.github/workflows/build.yml
vendored
37
.github/workflows/build.yml
vendored
@ -362,3 +362,40 @@ jobs:
|
|||||||
- name: Execute headless tests
|
- name: Execute headless tests
|
||||||
working-directory: ${{ env.GITHUB_WORKSPACE }}
|
working-directory: ${{ env.GITHUB_WORKSPACE }}
|
||||||
run: python test.py -g --graphics=software
|
run: python test.py -g --graphics=software
|
||||||
|
|
||||||
|
build_test_headless_alpine:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: alpine:latest
|
||||||
|
options: --shm-size=8g
|
||||||
|
steps:
|
||||||
|
- name: Install Linux dependencies (Alpine)
|
||||||
|
run: |
|
||||||
|
apk add build-base wget git bash cmake python3 glu-dev sdl2-dev
|
||||||
|
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Fix git detected dubious ownership in repository
|
||||||
|
run: |
|
||||||
|
chown -R $(id -u):$(id -g) $PWD
|
||||||
|
|
||||||
|
- name: Setup ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2
|
||||||
|
|
||||||
|
- name: Compile ffmpeg
|
||||||
|
run: |
|
||||||
|
cd ffmpeg && ./linux_x86-64.sh
|
||||||
|
|
||||||
|
- name: Build for testing
|
||||||
|
run: |
|
||||||
|
./b.sh --headless --unittest
|
||||||
|
|
||||||
|
- name: Execute unit tests
|
||||||
|
run: |
|
||||||
|
./build/PPSSPPUnitTest ALL
|
||||||
|
|
||||||
|
- name: Execute headless tests
|
||||||
|
run: |
|
||||||
|
python test.py -g --graphics=software
|
||||||
|
@ -186,6 +186,7 @@ option(USE_SYSTEM_MINIUPNPC "Dynamically link against system miniUPnPc" ${USE_SY
|
|||||||
option(USE_ASAN "Use address sanitizer" OFF)
|
option(USE_ASAN "Use address sanitizer" OFF)
|
||||||
option(USE_UBSAN "Use undefined behaviour sanitizer" OFF)
|
option(USE_UBSAN "Use undefined behaviour sanitizer" OFF)
|
||||||
option(USE_CCACHE "Use ccache if detected" ON)
|
option(USE_CCACHE "Use ccache if detected" ON)
|
||||||
|
option(USE_NO_MMAP "Disable mmap usage" OFF)
|
||||||
|
|
||||||
if(USE_CCACHE)
|
if(USE_CCACHE)
|
||||||
include(ccache)
|
include(ccache)
|
||||||
@ -247,6 +248,12 @@ if(HTTPS_NOT_AVAILABLE)
|
|||||||
add_definitions(-DHTTPS_NOT_AVAILABLE)
|
add_definitions(-DHTTPS_NOT_AVAILABLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# Disable the usage of MMAP for the memory system.
|
||||||
|
# It is not tested on all platforms and can cause issues.
|
||||||
|
if(USE_NO_MMAP)
|
||||||
|
add_definitions(-DNO_MMAP -DMASKED_PSP_MEMORY)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Work around for some misfeature of the current glslang build system
|
# Work around for some misfeature of the current glslang build system
|
||||||
include_directories(ext/glslang)
|
include_directories(ext/glslang)
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
#include "Common/Log.h"
|
#include "Common/Log.h"
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ void MemArena::ReleaseView(s64 offset, void* view, size_t size) {
|
|||||||
|
|
||||||
u8* MemArena::Find4GBBase() {
|
u8* MemArena::Find4GBBase() {
|
||||||
// Now, create views in high memory where there's plenty of space.
|
// Now, create views in high memory where there's plenty of space.
|
||||||
#if PPSSPP_ARCH(64BIT) && !defined(USE_ASAN)
|
#if PPSSPP_ARCH(64BIT) && !defined(USE_ASAN) && !defined(NO_MMAP)
|
||||||
// We should probably just go look in /proc/self/maps for some free space.
|
// We should probably just go look in /proc/self/maps for some free space.
|
||||||
// But let's try the anonymous mmap trick, just like on 32-bit, but bigger and
|
// But let's try the anonymous mmap trick, just like on 32-bit, but bigger and
|
||||||
// aligned to 4GB for the movk trick. We can ensure that we get an aligned 4GB
|
// aligned to 4GB for the movk trick. We can ensure that we get an aligned 4GB
|
||||||
|
3
b.sh
3
b.sh
@ -81,6 +81,9 @@ do
|
|||||||
--alderlake) echo "Alderlake opt"
|
--alderlake) echo "Alderlake opt"
|
||||||
CMAKE_ARGS="-DCMAKE_C_FLAGS=\"-march=alderlake\" -DCMAKE_CPP_FLAGS=\"-march=alderlake\""
|
CMAKE_ARGS="-DCMAKE_C_FLAGS=\"-march=alderlake\" -DCMAKE_CPP_FLAGS=\"-march=alderlake\""
|
||||||
;;
|
;;
|
||||||
|
--no_mmap) echo "Disable mmap"
|
||||||
|
CMAKE_ARGS="-DUSE_NO_MMAP=ON ${CMAKE_ARGS}"
|
||||||
|
;;
|
||||||
*) MAKE_OPT="$1 ${MAKE_OPT}"
|
*) MAKE_OPT="$1 ${MAKE_OPT}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
Reference in New Issue
Block a user