From a62636fde0c48db7582f6a289382efaddecb455d Mon Sep 17 00:00:00 2001 From: Alex Orlenko Date: Sun, 17 Apr 2022 17:29:51 +0100 Subject: [PATCH] More parking_lot ci tests --- .github/workflows/main.yml | 19 ++++++++----------- src/userdata_impl.rs | 10 ++++++---- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b58cb0c..c28d1b8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,8 +28,7 @@ jobs: - name: Build ${{ matrix.lua }} vendored run: | cargo build --features "${{ matrix.lua }},vendored" - cargo build --features "${{ matrix.lua }},vendored,async,send,serialize,macros" - cargo build --features "${{ matrix.lua }},vendored,async,serialize,macros,parking_lot" + cargo build --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" shell: bash - name: Build ${{ matrix.lua }} pkg-config if: ${{ matrix.os == 'ubuntu-20.04' && matrix.lua != 'lua54' }} @@ -53,7 +52,7 @@ jobs: target: aarch64-apple-darwin override: true - name: Cross-compile - run: cargo build --target aarch64-apple-darwin --features "${{ matrix.lua }},vendored,async,send,serialize,macros" + run: cargo build --target aarch64-apple-darwin --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" build_aarch64_cross_ubuntu: name: Cross-compile to aarch64-unknown-linux-gnu @@ -75,7 +74,7 @@ jobs: sudo apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu libc6-dev-arm64-cross shell: bash - name: Cross-compile - run: cargo build --target aarch64-unknown-linux-gnu --features "${{ matrix.lua }},vendored,async,send,serialize,macros" + run: cargo build --target aarch64-unknown-linux-gnu --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" shell: bash build_armv7_cross_ubuntu: @@ -98,7 +97,7 @@ jobs: sudo apt-get install -y --no-install-recommends gcc-arm-linux-gnueabihf libc-dev-armhf-cross shell: bash - name: Cross-compile - run: cargo build --target armv7-unknown-linux-gnueabihf --features "${{ matrix.lua }},vendored,async,send,serialize,macros" + run: cargo build --target armv7-unknown-linux-gnueabihf --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" shell: bash test: @@ -128,15 +127,13 @@ jobs: - name: Run ${{ matrix.lua }} tests run: | cargo test --features "${{ matrix.lua }},vendored" - cargo test --features "${{ matrix.lua }},vendored,async,send,serialize,macros" - cargo test --features "${{ matrix.lua }},vendored,async,serialize,macros,parking_lot" + cargo test --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" shell: bash - name: Run compile tests (macos lua54) if: ${{ matrix.os == 'macos-latest' && matrix.lua == 'lua54' }} run: | TRYBUILD=overwrite cargo test --features "${{ matrix.lua }},vendored" -- --ignored - TRYBUILD=overwrite cargo test --features "${{ matrix.lua }},vendored,async,send,serialize,macros" -- --ignored - TRYBUILD=overwrite cargo test --features "${{ matrix.lua }},vendored,async,serialize,macros,parking_lot" -- --ignored + TRYBUILD=overwrite cargo test --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" -- --ignored shell: bash test_with_sanitizer: @@ -162,7 +159,7 @@ jobs: - name: Run ${{ matrix.lua }} tests with address sanitizer run: | RUSTFLAGS="-Z sanitizer=address" \ - cargo test --tests --features "${{ matrix.lua }},vendored,async,send,serialize,macros" --target x86_64-unknown-linux-gnu -- --skip test_too_many_recursions + cargo test --tests --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" --target x86_64-unknown-linux-gnu -- --skip test_too_many_recursions shell: bash test_modules: @@ -242,4 +239,4 @@ jobs: - uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} - args: --features "${{ matrix.lua }},vendored,async,send,serialize,macros" + args: --features "${{ matrix.lua }},vendored,async,send,serialize,macros,parking_lot" diff --git a/src/userdata_impl.rs b/src/userdata_impl.rs index 9ab3757..913bd73 100644 --- a/src/userdata_impl.rs +++ b/src/userdata_impl.rs @@ -309,24 +309,26 @@ impl<'lua, T: 'static + UserData> StaticUserDataMethods<'lua, T> { } Some(id) if id == TypeId::of::>>() => { let ud = get_userdata_mut::>>(lua.state)?; - let mut ud = ud.try_lock().map_err(|_| Error::UserDataBorrowError)?; + let mut ud = + ud.try_lock().map_err(|_| Error::UserDataBorrowMutError)?; method(lua, &mut ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua) } #[cfg(feature = "parking_lot")] Some(id) if id == TypeId::of::>>() => { let ud = get_userdata_mut::>>(lua.state)?; - let mut ud = ud.try_lock().ok_or(Error::UserDataBorrowError)?; + let mut ud = ud.try_lock().ok_or(Error::UserDataBorrowMutError)?; method(lua, &mut ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua) } Some(id) if id == TypeId::of::>>() => { let ud = get_userdata_mut::>>(lua.state)?; - let mut ud = ud.try_write().map_err(|_| Error::UserDataBorrowError)?; + let mut ud = + ud.try_write().map_err(|_| Error::UserDataBorrowMutError)?; method(lua, &mut ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua) } #[cfg(feature = "parking_lot")] Some(id) if id == TypeId::of::>>() => { let ud = get_userdata_mut::>>(lua.state)?; - let mut ud = ud.try_write().ok_or(Error::UserDataBorrowError)?; + let mut ud = ud.try_write().ok_or(Error::UserDataBorrowMutError)?; method(lua, &mut ud, A::from_lua_multi(args, lua)?)?.to_lua_multi(lua) } _ => Err(Error::UserDataTypeMismatch),