On 3/12/15 8:33 AM, Graham Bloice wrote:
> On 12 March 2015 at 15:14, Graham Bloice <graham.bloice@xxxxxxxxxxxxx
> <mailto:graham.bloice@xxxxxxxxxxxxx>> wrote:
>
>
> On 12 March 2015 at 15:01, Jeff Morriss <jeff.morriss.ws@xxxxxxxxx
> <mailto:jeff.morriss.ws@xxxxxxxxx>> wrote:
>
> On 03/12/15 08:05, Graham Bloice wrote:
>
> The error seems to be running tests with a CMake out-of-tree
> build, I
> see the same issue locally.
>
> From the test output:
>
> global_config_path =
> 'C:\buildbot\wireshark\__wireshark-master-32\windows-8.__1-x86\build\cmbuild\run\__RelWithDebInfo\epan\wslua\'
>
> but the lua files (init.lua etc.) are in
> C:\buildbot\wireshark\__wireshark-master-32\windows-8.__1-x86\build\cmbuild\run\__RelWithDebInfo\lua
>
>
> Yes, wslua doesn't work/build well with cmake. (As mentioned
> recently) I fixed that with autotools (starting with
> https://code.wireshark.org/__review/3348
> <https://code.wireshark.org/review/3348>). The commit message in
> that change suggests what (I think) needs to be changed to make it
> work with cmake--of course I left that for someone with the
> apparently-necessary cmake book to do. :-)
>
>
> On Windows, I think it's the layout that's wrong somewhere. When
> Wireshark is actually installed, the lua files are in a lua
> subdirectory of the Wireshark directory, e.g. C:\Program
> Files\Wireshark\lua. C:\Program Files\Wireshark is the global
> configuration directory and the lua files are one subdir down.
>
> CMake recreates the runtime environment in the appropriate "run"
> directory, e.g. ...\run\relWithDebInfo, and that is the global config
> directory for the build, but the tests (or something else) now expects
> the lua files in globalconfig\epan\wslua (as reported by the test code).
>
> So for me the question is why do the tests (or the CMake built
> executable) expect the lua files to be in the different place?
>
>
>
> Oops, typed in haste, a Windows install puts the lua files in the main
> Wireshark directory. This still doesn't answer my question as to why the
> tests have (for the 8.1. buildbot) the global config dir as:
>
> global_config_path = 'C:\buildbot\wireshark\wireshark-master-32\windows-8.1-x86\build\cmbuild\run\RelWithDebInfo\epan\wslua\'
That's because wslua appends epan/wslua to various paths if
running_in_build_directory() returns true. A proposed fix is at
https://code.wireshark.org/review/#/c/7590/, although it ended up touching
a lot of files.
We have another issue with tests and CMake: suite-unittests.sh always
builds the test executables using nmake on Windows.