Skip to content

Commit ab6d2c5

Browse files
authored
Merge pull request #1765 from losttech/bugs/32bit-1729
Fix layout of `NativeTypeSpec` on 32 bit platforms
2 parents 86c6a7f + 8503726 commit ab6d2c5

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

.github/workflows/main.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ jobs:
1717
matrix:
1818
os: [windows, ubuntu, macos]
1919
python: ["3.6", "3.7", "3.8", "3.9", "3.10"]
20-
platform: [x64]
20+
platform: [x64, x86]
21+
exclude:
22+
- os: ubuntu
23+
platform: x86
24+
- os: macos
25+
platform: x86
2126

2227
steps:
2328
- name: Set Environment on macOS
@@ -67,6 +72,7 @@ jobs:
6772
run: pytest --runtime mono
6873

6974
- name: Python Tests (.NET Core)
75+
if: ${{ matrix.platform == 'x64' }}
7076
run: pytest --runtime netcore
7177

7278
- name: Python Tests (.NET Framework)
@@ -77,7 +83,7 @@ jobs:
7783
run: dotnet test --runtime any-${{ matrix.platform }} src/python_tests_runner/
7884

7985
- name: Perf tests
80-
if: ${{ matrix.python == '3.8' }}
86+
if: ${{ (matrix.python == '3.8') && (matrix.platform == 'x64') }}
8187
run: |
8288
pip install --force --no-deps --target src/perf_tests/baseline/ pythonnet==2.5.2
8389
dotnet test --configuration Release --runtime any-${{ matrix.platform }} --logger "console;verbosity=detailed" src/perf_tests/

src/runtime/Native/NativeTypeSpec.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ struct NativeTypeSpec : IDisposable
1010
public readonly StrPtr Name;
1111
public readonly int BasicSize;
1212
public readonly int ItemSize;
13-
public readonly TypeFlags Flags;
13+
public readonly int Flags;
1414
public IntPtr Slots;
1515

1616
public NativeTypeSpec(TypeSpec spec)
@@ -20,7 +20,7 @@ public NativeTypeSpec(TypeSpec spec)
2020
this.Name = new StrPtr(spec.Name, Encoding.UTF8);
2121
this.BasicSize = spec.BasicSize;
2222
this.ItemSize = spec.ItemSize;
23-
this.Flags = spec.Flags;
23+
this.Flags = (int)spec.Flags;
2424

2525
unsafe
2626
{

tests/conftest.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ def pytest_configure(config):
8686
else:
8787
domain_tests_dir = os.path.join(os.path.dirname(__file__), "domain_tests")
8888
bin_path = os.path.join(domain_tests_dir, "bin")
89-
check_call(["dotnet", "build", domain_tests_dir, "-o", bin_path])
89+
build_cmd = ["dotnet", "build", domain_tests_dir, "-o", bin_path]
90+
is_64bits = sys.maxsize > 2**32
91+
if not is_64bits:
92+
build_cmd += ["/p:Prefer32Bit=True"]
93+
check_call(build_cmd)
9094

9195

9296

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy