Jelajahi Sumber

fix android tests

Andre Weissflog 2 tahun lalu
induk
melakukan
4696f892b1
4 mengubah file dengan 48 tambahan dan 30 penghapusan
  1. 11 12
      .github/workflows/main.yml
  2. 32 0
      CMakePresets.json
  3. 2 3
      tests/test_android.sh
  4. 3 15
      tests/test_common.sh

+ 11 - 12
.github/workflows/main.yml

@@ -47,18 +47,17 @@ jobs:
         - name: test_emscripten
           run: |
             ./tests/test_emscripten.sh
-    #android:
-    #    runs-on: ubuntu-latest
-    #    steps:
-    #    - uses: actions/checkout@v2
-    #    - uses: seanmiddleditch/gha-setup-ninja@master
-    #    - uses: actions/setup-java@v1
-    #      with:
-    #        java-version: '8'
-    #    - name: test_android
-    #      run: |
-    #        cd tests
-    #        ./test_android.sh
+    android:
+        runs-on: ubuntu-latest
+        steps:
+        - uses: actions/checkout@v2
+        - uses: seanmiddleditch/gha-setup-ninja@master
+        - uses: actions/setup-java@v1
+          with:
+            java-version: '8'
+        - name: test_android
+          run: |
+            ./tests/test_android.sh
     #uwp:
     #    runs-on: windows-latest
     #    steps:

+ 32 - 0
CMakePresets.json

@@ -239,6 +239,30 @@
                 "SOKOL_BACKEND": "SOKOL_GLES2",
                 "CMAKE_BUILD_TYPE": "Release"
             }
+        },
+        {
+            "name": "android_debug",
+            "generator": "Ninja",
+            "binaryDir": "tests/build/android_debug",
+            "toolchainFile": "tests/build/android_sdk/ndk-bundle/build/cmake/android.toolchain.cmake ",
+            "cacheVariables": {
+                "SOKOL_BACKEND": "SOKOL_GLES3",
+                "ANDROID_ABI": "armeabi-v7a",
+                "ANDROID_PLATFORM": "android-28",
+                "CMAKE_BUILD_TYPE": "Debug"
+            }
+        },
+        {
+            "name": "android_release",
+            "generator": "Ninja",
+            "binaryDir": "tests/build/android_release",
+            "toolchainFile": "tests/build/android_sdk/ndk-bundle/build/cmake/android.toolchain.cmake ",
+            "cacheVariables": {
+                "SOKOL_BACKEND": "SOKOL_GLES3",
+                "ANDROID_ABI": "armeabi-v7a",
+                "ANDROID_PLATFORM": "android-28",
+                "CMAKE_BUILD_TYPE": "Release"
+            }
         }
     ],
     "buildPresets": [
@@ -361,6 +385,14 @@
         {
             "name": "emsc_webgl1_release",
             "configurePreset": "emsc_webgl1_release"
+        },
+        {
+            "name": "android_debug",
+            "configurePreset": "android_debug"
+        },
+        {
+            "name": "android_release",
+            "configurePreset": "android_release"
         }
     ]
 }

+ 2 - 3
tests/test_android.sh

@@ -1,7 +1,6 @@
 #!/usr/bin/env bash
 set -e
 source test_common.sh
-prepare
 setup_android
-build_android android_debug SOKOL_GLES3 Debug
-build_android android_release SOKOL_GLES3 Release
+build android_debug android_debug
+build android_release android_release

+ 3 - 15
tests/test_common.sh

@@ -11,8 +11,8 @@ setup_emsdk() {
 }
 
 setup_android() {
-    if [ ! -d "build/android_sdk" ] ; then
-        mkdir -p build/android_sdk && cd build/android_sdk
+    if [ ! -d "tests/build/android_sdk" ] ; then
+        mkdir -p tests/build/android_sdk && cd tests/build/android_sdk
         sdk_file="sdk-tools-linux-3859397.zip"
         wget --no-verbose https://dl.google.com/android/repository/$sdk_file
         unzip -q $sdk_file
@@ -21,17 +21,15 @@ setup_android() {
         yes | ./sdkmanager "build-tools;29.0.3" >/dev/null
         yes | ./sdkmanager "platform-tools" >/dev/null
         yes | ./sdkmanager "ndk-bundle" >/dev/null
-        cd ../../../..
+        cd ../../../../..
     fi
 }
 
 build() {
     gen_preset=$1
     build_preset=$2
-#    cd ..
     cmake --preset $gen_preset
     cmake --build --preset $build_preset
-#    cd tests
 }
 
 analyze() {
@@ -64,16 +62,6 @@ analyze_ios() {
     cd ../..
 }
 
-build_android() {
-    cfg=$1
-    backend=$2
-    mode=$3
-    mkdir -p build/$cfg && cd build/$cfg
-    cmake -GNinja -DSOKOL_BACKEND=$backend -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=android-28 -DCMAKE_TOOLCHAIN_FILE=../android_sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=$mode ../..
-    cmake --build .
-    cd ../..
-}
-
 runtest() {
     cfg=$1
     cd tests/build/$cfg