FLAMEGPU2 icon indicating copy to clipboard operation
FLAMEGPU2 copied to clipboard

Missing Swig Functionality

Open ptheywood opened this issue 4 years ago • 5 comments

Although Swig is now in master, some things are still missing

  • [x] Alternate Array approach (#400)
  • ~Shared memory brute-force message approach~
  • [x] Missing Tests
    • [x] IO
    • [x] Bucket Msg
    • [x] ...?
  • [x] Submodels
  • [x] General tidying
  • [ ] Ctest (#267)
  • [x] Host function/condition 'callback' methods, should be renamed and use operator overloading? (was there a compatibility reason this can't be done?)
  • [x] Visualisation

ptheywood avatar Sep 09 '20 15:09 ptheywood

IO tests and BucketMsg are working in this branch: https://github.com/FLAMEGPU/FLAMEGPU2_dev/tree/swig_tests_a Also added submodel support and a few tests, not sure it's worth wasting time reproducing all the submodel tests as most exist to test internal stuff unaffected by swig.

Robadob avatar Sep 10 '20 10:09 Robadob

Generated lists of tests via gtest and pytest, with some manipulation to get the listings relatively close to each other.

https://gist.github.com/ptheywood/cb1d2d20d4c446d2fb135d4ffb400f7c

Commands used:

./bin/linux-x64/Release/tests --gtest_list_tests
pytest --collect-only | sed -e 's/TestCaseFunction//g' | sed -e 's/UnitTestCase //g' | sed -e 's/[<>]//g' | sed -e 's/   test_/   /g'

ptheywood avatar Sep 10 '20 11:09 ptheywood

Full list of tests missing from each suite (also accounting for bucket/IO tests not currently on master)

DeviceExceptionTest::71
RTCDeviceExceptionTest::17
DeviceRTCAPITest::14
TestCUDAAgentModel/TestSimulation::5
TestCUDASubAgent::29
SubEnvironmentManagerTest::10
SubEnvironmentDescriptionTest::5
SubAgentDescriptionTest::5
HostFunctionTest::18
DeviceAPITest::2
EnvironmentManagerTest/1::-1
HostAgentSort::6 (not possible in Py?)
HostEnvironmentTest::6
HostRandomTest::4 (char methods)
HostReductionTest::37 (20 not possible, 17 histogram/exception)
HostMiscTest::9 (not valid for python?)
Spatial2DMsgTest::1 (read empty)
Spatial3DMsgTest::1 (read empty)
TestMessage_BruteForce::1 (read empty)
TestMessage_Array::1 (optional none)
TestMessage_Array3D::2 (optional none [appears twice in C list?])
ModelDescriptionTest::1 (submodel...)
LayerDescriptionTest::1 (submodel...)
TestDependencyVersions::2
TestUtilNVTX::1
TestUtilComputeCapability::3
TestMessage::1

Robadob avatar Sep 10 '20 12:09 Robadob

Was agreed in meeting that further SubModel test duplication is unnecessary.

Robadob avatar Oct 19 '20 12:10 Robadob

Alternate array interface is ready for merge in #400, should be merged in the next week or so.

Robadob avatar Oct 22 '20 08:10 Robadob