[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [creduce-dev] New planned release



Hi,

> We could use testing on Windows!  Anyone have a machine handy?  I have access to zero Windows machines right now.  I think MS has free VM images these days but I probably don't have time to get one setup to the point where it can run C-Reduce.

I did some testing on Windows without any environment like Cygwin etc.
There are a few things that do not work currently or that behave not in the same way as on Linux.

To build C-Reduce I used the Cmake build system. I already included the pull request from vgvassilev (https://github.com/csmith-project/creduce/pull/87). Things I noticed:
- Support to build "topformflat" from the sources is missing. I added it and removed the configuration check if it can be found.
- Unifdef is not build with the Cmake system. I added it but it cannot be build on Windows. It depends on "unistd.h" which does not exist for Windows.
- The install path for clang_delta etc. did not match the value that was written to the config file ("bin" is missing at the end of the install destination)
- Further, the install destinations of the Cmake system are different from the Automake build. For instance, the Cmake system does not create a "libexec" dir but puts everything in "bin". While this does not affect the execution I would suggest to keep both systems as similar as possible.

After I made these small changes to the build system everything got installed successfully. So in general building and installing on Windows works fine.

Then, when I started a reduction there where some other issues:
- Since unifdef could not be build its prerequisites could not be fulfilled and I had to remove the pass from the list of all passes
- The pass_lines pass makes use of "grep" to remove blank lines after topformflat has been run on the test case. grep is not available on Windows and thus all passes failed. Also the was a problem if the pass to the topformflat executable contained whitespaces. I replaced the grep command with loop over the file after topformflat has finished. Maybe not the best way but it allowed me to test further.
- Due to some changes in the delta_test mechanism the wait_helper function returned a wrong result which basically made all test case interesting. After I found the issue it was easy to fix though.

And that's all I have to complain about. ;-) With all the changes C-Reduce can be run on Windows without any additional environments.
All my changes are currently is this branch https://github.com/mpflanzer/creduce/tree/topformflat_cmake but it's a bit unorganised so will not create a pull request for the moment.

But if we decide how to handle the remaining issues I would be willing to prepare a clean patch which you could merge.

Regards,

Moritz