zeroc-ice / ice

All-in-one solution for creating networked applications with RPC, pub/sub, server deployment, and more.
https://zeroc.com
GNU General Public License v2.0
2.04k stars 592 forks source link

allTests.py skips Ice/operations in MATLAB #2385

Closed bernardnormier closed 3 months ago

bernardnormier commented 3 months ago

From the CI log:

*** [6/11] Running matlab/Ice/objects tests ***

...

*** [7/11] Running matlab/Ice/optional tests ***

Ice/operations does not run. Can't run it manually either.

There are actually 17 tests total but CI runs only 11. It's not clear why we don't execute the other tests.

bernardnormier commented 3 months ago

Austin figured out that the skipped tests are those without a .py file in scripts/tests/Ice.

I added operations.py (copied from ami.py) and the test now runs. There is definitely a bug here.

InsertCreativityHere commented 3 months ago

When discovering test cases for a given test id (ex: "Ice/operations"), we first check if there's a corresponding .py file in that directory. If not, we have some logic for trying to 'discover' the test.

Part of this discovery logic is checking to see if we can find a file that looks like a client and/or a file that looks like a server. MATLAB has no server code, so that check would always fail. All fine there.

But the client check is broken because it looks for files matching client.m... however files are capitalized in MATLAB, so all the actual files are Client.m.

So, as far as the test-suite is concerned, there's no client or server to run, and the test is skipped. Pretty sneaky bug you found. See #2386.