|
Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
README BADGES
|
push
github
Fix command-line argv handling. (cherry-picked from commit 9ebebc9b5) Before the patch, there was a situation where `luaL_newstate` could fail in main and the `argv[0]` could be used as a progname in `l_message`. However, `argv[0]` is not guaranteed to be non-NULL, so the segmentation fault could occur. This patch fixes the issue by using the predefined name in that case. Moreover, it refactors the `l_message`, so now there is no need to pass `pname` everywhere. The patch is tested with the help of the mocking of `luaL_newstate` by providing an error-injected implementation of it and preloading it. For preload to work, the LuaJIT must be built with dynamic build mode enabled. The corresponding flavor is added to the CI. The tarantool-c-tests target cannot be linked with the LuaJIT library when it is built as shared. The test suite is disabled for the dynamic build mode. Since the Linux kernel 5.18-rc1 release, `argv` is forced to a single empty string if it is empty [1], so the issue is not reproducible on new kernels. [1]: https://lore.kernel.org/all/20220201000947.2453721-1-keescook@chromium.org/ Part of tarantool/tarantool#9924
5660 of 6018 branches covered (94.05%)
Branch coverage included in aggregate %.
7 of 10 new or added lines in 1 file covered. (70.0%)
1 existing line in 1 file now uncovered.21600 of 23418 relevant lines covered (92.24%)
2946674.37 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 3 |
91.98 |
0.02% | src/luajit.c |
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
93.09 |
-0.33% | src/lj_ir.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 8648539856.1 | 89 |
92.61 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|