* Expose more export information
namely, ordinal and forwarded export
* ensure IterExpVA's behavior is not changed
* Added description in the header file
ASAN on Windows messes with exception handlers, and Catch2 doesn't
account for this. A workaround is to disable SEH on Windows with ASAN as
suggested in this reply to an existing issue
https://github.com/catchorg/Catch2/issues/898#issuecomment-841733322
CI requires some sourcing of the development tools for required paths
* Add support for building with sanitizers
* CI Enable building with ASAN+UBSAN sanitizers in Debug builds
* Add directions to README
* Better CI reporting and matrix for sanitizer runs
* Add simple test and corkami test suite using Catch2
* Enable testing with CMake option '-DPEPARSE_ENABLE_TESTING=ON'.
* The simple test is extremely basic just as an example of using Catch2.
* Corkami test suite is a git submodule within assets and the tests can
be run with or without cloning it. You are able to configure CMake
without the submodule and it will warn you that the tests are not
included, and then it will pick them up automatically on next cmake
rebuild.
There are a few Corkami files which pe-parse is unable to process. They
have been added as exceptions for now (just to get this merged), but we
can open new issues to track them. This will also catch any regressions
that could prevent the successful parsing of files that have been
parse-able in the past.
* Raise C++ standard from 11 to 17 for easier filesystem handling in
tests. Also included CMake script for handling how std::filesystem is
found/linked.
* Rename directory 'test' to 'tests'.
* Update README with testing instructions.
* Catch2 is downloaded and built unless otherwise specified
(undocumented, aside from reading CMake).
* Use 'offsetof' to resolve undefined behavior
../pe-parser-library/src/parse.cpp:1821:7: runtime error: member access
within null pointer of type 'typeof (curEnt)' (aka
'peparse::import_dir_entry')
* Fix bad rename
* workflows/release: Add PyPI release config
* util/release: Don't push to PyPI manually
The CI will handle this for us from now on.
* VERSION: 1.1.0.rc.1
* workflows/release: Try on this branch
* workflows/release: Syntax
* workflows/release: Disable on this branch
* VERSION: 1.1.0.rc.2
* pe-parser-library: Use WinAPI for UTF-16 to UTF-8
If ICU isn't available and we're on C++17 or later, use
the Windows API for Unicode conversion instead of codecvt.
* Pass resource by const pointer instead of value
Found/Suggested by LGTM:
This parameter of type resource is 128 bytes - consider passing a const
pointer/reference instead.
* Fix pepy
* resource by reference
* Change other iter* functions to be consistent pass by const reference
* nt-headers: Add IMAGE_DLLCHARACTERISTICS constants
Like the other Win32 constants, these are guarded by
_PEPARSE_WINDOWS_CONFLICTS.
* nt-headers: Add comment