csdms / babelizer

Transform BMI-wrapped models into Python packages
https://babelizer.readthedocs.io
MIT License
4 stars 3 forks source link

BMI-Tester problems for C / C++ examples #107

Open Volk3rJ opened 2 months ago

Volk3rJ commented 2 months ago

When going though the HeatModel C and C++ examples, I ran into a problem with the bmi-tester. Everything up to this point works fine (under Linux). However, running the bmi-test command leads to the following output... (attached).

bmi-test_errors.txt

Since I can import both the babelized pymt_heatc / pymt_heatcxx models without any problem, I assume the errors are with the BMI-Tester (version 0.5.9)?

mdpiper commented 2 months ago

This is the "pytest fixtures not found" issue that has recently cropped up. I think it can be avoided by installing all dependencies when creating an environment.

Volk3rJ commented 2 months ago

@mdpiper - Thank you for the reply. Not sure what might be missing in my environment. Which dependencies are you specifically referring to? I attached the list of packages below if that helps narrow it down.

wrap-all_package_list.txt

aufdenkampe commented 2 months ago

@mdpiper, the conda environment used by @Volk3rJ was built from the same babelizer-examples/environment.yml that I previously used to build an environment from your mdpiper/add-cxx-example branch that worked with your new C++ example for me on MacOS.

mcflugen commented 1 month ago

@aufdenkampe, @Volk3rJ Sorry for the delay, I somehow missed this. I don't think the issue has anything to do with your dependencies. For some reason the bmi-tester is having trouble finding its initialized_bmi fixture, which is defined in bmi_tester/_tests/conftest.py. I'm not sure why this is but I'll see if I can reproduce it.

Could you please give me the versions you are using for,

And what OS are you both using?

Volk3rJ commented 1 month ago

@mcflugen - Thanks for taking a look at this. You are correct, my (Linux / WSL) environment is based on:

mcflugen commented 1 month ago

@Volk3rJ Thanks. Both Python 3.12 and pytest v8 had some changes that may be causing this but I thought I had tested the tester with both of those versions. Anyway, I'll have a look and get back to you.

Actually, if it's not too much trouble, it would be helpful to see if the tester works for your case if you use Python<3.12 and pytest<8. No worries if you don't have time, I'll get to it (but not today, I'm afraid).

Volk3rJ commented 1 month ago

Yes, I can try that. I tested it with Python 3.11.9 already (but same pytest and bmi-tester versions as above) which didn't work either.