icerpc / icerpc-csharp

A C# RPC framework built for QUIC, with bidirectional streaming, first-class async/await, and Protobuf support.
https://docs.icerpc.dev
Apache License 2.0
94 stars 13 forks source link

Pull in latest 'slicec' and fix 'compile_all_test_slice'. #3968

Closed InsertCreativityHere closed 3 months ago

InsertCreativityHere commented 3 months ago

This PR updates the dependencies of slicec-cs, including the latest slicec.

The only change of relevance in slicec was changing how the SliceFiles are stored in a CompilationState. This let us perform some slight simplifications here in slicec-cs.


This PR also fixes the compile_all_test_slice test, which has probably been broken for a very long time. 1) We moved where the test files were stored from IceRpc.Tests to both IceRpc.Slice.Tests and Zeroc.Slice.Tests. So, this test was 'passing' because it found 0 files, and so, obviously number_of_errors == 0... which is what the test checked.

2) We were doing something weird/wrong with the slice_options, because instead of creating a new one for each test-run. We were modifying an existing one in place. So instead of only compiling 1 test file, we were compiling N. So after fixing issue 1, everything failed. I fixed the test so everything is much more isolated now. We only compile a single source file at a time. And we assert that the parsed version of the file has the same path as the one we expect to be testing.