mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
This PR implements widely accepted Rust programming practices for dealing with panics across ABI (programming language) boundaries. - Add panic_guard.rs to wrap FFI calls and prevent panic across FFI/ABI boundary (undefined behavior). - Capture per-thread backtraces via a temporary panic hook - After a panic, subsequent invocations are poisoned. - Integrate with_unwind_guard across the engine, schema registry, and target registry exportis Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
39 lines
1.7 KiB
XML
39 lines
1.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<Nullable>Enable</Nullable>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<EnableMSTestRunner>true</EnableMSTestRunner>
|
|
<!-- More info about dotnet test integration https://learn.microsoft.com/dotnet/core/testing/unit-testing-platform-integration-dotnet-test -->
|
|
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
|
|
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<!-- If the environment variable is set (such as in a Github Action run), append the suffix to the version number -->
|
|
<RegorusPackageVersionSuffix Condition="'$(VersionSuffix)' != ''">-$(VersionSuffix)</RegorusPackageVersionSuffix>
|
|
<UseLocalRegorus Condition="'$(UseLocalRegorus)' == ''">true</UseLocalRegorus>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(UseLocalRegorus)' == 'true'">
|
|
<DefineConstants>$(DefineConstants);REGORUS_FFI_TEST_HOOKS</DefineConstants>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<None Include="../../../tests/**/*.*" Link="tests/%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="MSTest" Version="3.8.2" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(UseLocalRegorus)' == 'true'">
|
|
<ProjectReference Include="../Regorus/Regorus.csproj">
|
|
<AdditionalProperties>EnableRegorusTestHooks=true</AdditionalProperties>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(UseLocalRegorus)' != 'true'">
|
|
<PackageReference Include="Regorus" Version="0.8.0$(RegorusPackageVersionSuffix)" />
|
|
</ItemGroup>
|
|
</Project> |