Просмотр исходного кода

Merge pull request #269 from perillo/fix-windows-deadlock

Fix deadlock on Windows
Chris Boesch 2 лет назад
Родитель
Сommit
6b48914d7a
4 измененных файлов с 12 добавлено и 50 удалено
  1. 4 21
      .github/workflows/ci.yml
  2. 6 21
      .github/workflows/eowyn.yml
  3. 1 6
      patches/eowyn.sh
  4. 1 2
      test/tests.zig

+ 4 - 21
.github/workflows/ci.yml

@@ -1,5 +1,4 @@
-name: 'CI'
-# Makes some checks
+name: CI
 
 on:
   pull_request:
@@ -27,12 +26,12 @@ jobs:
 
       - name: Check compatibility with old Zig compilers
         run: ci/compat.sh
-      
-  test-linux_mac:
+
+  test:
     name: Unit Tests
     strategy:
       matrix:
-        os: [ubuntu-latest, macos-latest]
+        os: [ubuntu-latest, windows-latest, macos-latest]
     runs-on: ${{ matrix.os }}
     timeout-minutes: 30
     steps:
@@ -46,19 +45,3 @@ jobs:
 
       - name: Run unit tests
         run: zig build test
-        
-  test-windows:
-    name: Unit Test Windows
-    runs-on: windows-latest
-    timeout-minutes: 30
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-
-      - name: Setup Zig
-        uses: goto-bus-stop/setup-zig@v2
-        with:
-          version: master
-
-      - name: Run unit tests
-        run: zig build test

+ 6 - 21
.github/workflows/eowyn.yml

@@ -1,5 +1,5 @@
-name: 'Eowyn'
-# Tests all exercises
+# Test that exercises work with the latest Zig compiler.
+name: Eowyn
 
 on:
   pull_request:
@@ -13,35 +13,20 @@ defaults:
     shell: bash
 
 jobs:
-  build-linux_mac:
+  build:
     strategy:
       matrix:
-        os: [ubuntu-latest, macos-latest]
+        os: [ubuntu-latest, windows-latest, macos-latest]
     runs-on: ${{ matrix.os }}
     timeout-minutes: 30
     steps:
       - name: Checkout
         uses: actions/checkout@v3
-        
-      - name: Setup Zig
-        uses: goto-bus-stop/setup-zig@v2
-        with:
-          version: master
-          
-      - name: Run Eowyn
-        run: patches/eowyn.sh
-        
-  build-windows:
-    runs-on: windows-latest
-    timeout-minutes: 30
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-        
+
       - name: Setup Zig
         uses: goto-bus-stop/setup-zig@v2
         with:
           version: master
-          
+
       - name: Run Eowyn
         run: patches/eowyn.sh

+ 1 - 6
patches/eowyn.sh

@@ -45,13 +45,8 @@ do
     fi
 done
 
-# Test the correct formatting of the healed exercises.
 echo "Looking for non-conforming code formatting..."
-for healed in patches/healed/*.zig
-do
-	echo Check $(basename "$healed")
-	zig fmt --check "$healed"
-done
+zig fmt --check patches/healed
 
 # Test the healed exercises. May the compiler have mercy upon us.
 zig build -Dhealed

+ 1 - 2
test/tests.zig

@@ -333,10 +333,9 @@ fn heal(allocator: Allocator, exercises: []const Exercise, outdir: []const u8) !
         };
         const output = try join(allocator, &.{ outdir, ex.main_file });
 
-        const argv = &.{ "patch", "-i", patch, "-o", output, file };
+        const argv = &.{ "patch", "-i", patch, "-o", output, "-s", file };
 
         var child = std.process.Child.init(argv, allocator);
-        child.stdout_behavior = .Ignore; // the POSIX standard says that stdout is not used
         _ = try child.spawnAndWait();
     }
 }