neuronsimulator / nrn-build-ci

Repository for scheduled NEURON CI.
0 stars 4 forks source link

Install OpenSSL required for neuron's tqperf integration test #32

Closed pramodk closed 2 years ago

pramodk commented 2 years ago
nrnhines commented 2 years ago

@pramodk I think that if there is not openssl, then the tqperf test should fall back to only translating/compiling mod/invlfire.mod. test1.py already has code to check for the existence of IntervalFireSHA. Note that ci-test.sh presently skips the latter if Darwin. I suppose one could test for success of $NRNHOME/bin/nrnivmodl -coreneuron -loadflags -lcrypto modx and if it failed, fall back to rm -r -f $CPU ; $NRNHOME/bin/nrnivmodl -coreneuron mod

pramodk commented 2 years ago

@pramodk I think that if there is not openssl, then the tqperf test should fall back to only translating/compiling mod/invlfire.mod. test1.py already has code to check for the existence of IntervalFireSHA.

I was wondering about this - I was thinking that if OpenSSL doesn't exist then we can just skip tqperf test. Or, we should add two separate tests (at CMake level, just by changing some parameter) to distinguish between "non-crypto" and "crypto" test. This way we exactly know what has been run.

nrnhines commented 2 years ago

I guess it is a matter of judgment whether non-crypto success gives a sufficient increment of test validation to make it worth the effort. At least it covers the same code. A greater degree of validation, though not the level of crypto, would be to have a simple checksum on input and output event times. It would be nice to extend this to be a substantive gpu test. At present, the ARTIFICIAL_CELL test does not use the GPU.

olupton commented 2 years ago

Not sure we need the setuptools fix anymore, https://github.com/neuronsimulator/nrn-build-ci/runs/4688817356 ran against your NEURON branch and everything passed.

pramodk commented 2 years ago

Ok. Seems like there are already new setuptools releases to address the breaking change: https://setuptools.pypa.io/en/latest/history.html

I guess it is a matter of judgment whether non-crypto success gives a sufficient increment of test validation to make it worth the effort.

@nrnhines: Just to clarify, CI of nrn repository does check tqperf with libcrypto etc. This nrn-build-ci is a standalone CI which checks building of NEURON with minimum/necessary packages. Hence, I think it's reasonable to skip tqperf test in this CI when libcrypto/OpenSSL is not found.

We can install OpenSSLhere but I think testing build with minimum required packages is helpful (and goal of this CI). Hence I created https://github.com/neuronsimulator/nrn/pull/1571.

olupton commented 2 years ago

We might like to install OpenSSL on macOS too (https://github.com/neuronsimulator/nrn-build-ci/runs/4717133195?check_suite_focus=true#step:6:363)