-
-
Notifications
You must be signed in to change notification settings - Fork 112
tests in amalgated source #214
Comments
Okay, I'll try to explain again why, in fact, you don't need these tests in the amalgamated source code (i.e. amalgamated source code = the released code base for a users of library, but not a developers of libmdbx).
|
I'm using/packaging libmdbx for use in the Alpine Linux distribution which uses musl libc instead of GNU libc. There have been many issues found in software where it crashes (not the libc) because, for example, it exhaustes the stack (stack size on musl is just 128k, in GNU libc it's in the range of 2 to 10 MB. I want to have the tests to catch regressions or new issues with new libc or libmdbx versions before a new fault is introduced with a new package version. I'd like to have the standard tests from the unamalgated version so I can be sure that the tests cover the code that is built into the shared library, instead of some other code. Just having the tests be built/run from code that explicitely compiles from the amalgated sources is the best way to avoid human error (e.g. accidentally shipping a complete, unamalgated copy of the code with amalgated version and then running the tests against the unamalgated version). I can not reasonably provide tests for all possible user applications and their explicite behaviour. That is why I'd only like to run the existing tests and see if they fail. I do not need any long term tests. The CI run time in the Alpine Linux CI is limited to an hour anyway. So that's the absolute maximum the test could run as. We previously already found an issue with s390x, IIRC. So this is not a hypothetical problem. |
Firstly, I want to repeat once again that two options are offered: either a git submodule with all tests, or amalgamated source code without internal tests. On the other hand, I do not intend to support any other options for a number of reasons.
Thus, I am sure that the proposed two delivery options cover all rational cases, and there is no reason to complicate anything (i.e. do any additional work). If you intend to use internal libmdbx tests to check the library's operation, then you should:
Otherwise you will beat the air. |
@Thermi, for now the In other words, for minimal verification, you should use this or a more extensive testing scenario. |
We need the tests in amalgated sources - or at least a version of the amalgated sources with the tests included (and being run against the amalgated code), because it is not known if libmdbx works correctly in different library constellations (e.g. different libc implementation, other Windows version ,...).
As of now, there is no reasonable way to get the tests in an "official" distributed ource code that is not compiled in "dev" mode so to say and also does not require manually specifying all the version parameters (both true for copies of the git archive that can be downloaded over Github, they don't contain the .git dir).
The text was updated successfully, but these errors were encountered: