mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-26 11:13:23 -03:00
contrib: add symbol check test for PE
This commit is contained in:
parent
795afe6e63
commit
ae9b48995b
2 changed files with 38 additions and 0 deletions
|
@ -350,6 +350,7 @@ if TARGET_DARWIN
|
||||||
endif
|
endif
|
||||||
if TARGET_WINDOWS
|
if TARGET_WINDOWS
|
||||||
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_PE
|
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_PE
|
||||||
|
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_PE
|
||||||
endif
|
endif
|
||||||
if TARGET_LINUX
|
if TARGET_LINUX
|
||||||
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_ELF
|
$(AM_V_at) $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_ELF
|
||||||
|
|
|
@ -120,6 +120,43 @@ class TestSymbolChecks(unittest.TestCase):
|
||||||
self.assertEqual(call_symbol_check(cc, source, executable, ['-framework', 'CoreGraphics']),
|
self.assertEqual(call_symbol_check(cc, source, executable, ['-framework', 'CoreGraphics']),
|
||||||
(0, ''))
|
(0, ''))
|
||||||
|
|
||||||
|
def test_PE(self):
|
||||||
|
source = 'test1.c'
|
||||||
|
executable = 'test1.exe'
|
||||||
|
cc = 'x86_64-w64-mingw32-gcc'
|
||||||
|
|
||||||
|
with open(source, 'w', encoding="utf8") as f:
|
||||||
|
f.write('''
|
||||||
|
#include <pdh.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
PdhConnectMachineA(NULL);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
''')
|
||||||
|
|
||||||
|
self.assertEqual(call_symbol_check(cc, source, executable, ['-lpdh']),
|
||||||
|
(1, 'pdh.dll is not in ALLOWED_LIBRARIES!\n' +
|
||||||
|
executable + ': failed DYNAMIC_LIBRARIES'))
|
||||||
|
|
||||||
|
source = 'test2.c'
|
||||||
|
executable = 'test2.exe'
|
||||||
|
with open(source, 'w', encoding="utf8") as f:
|
||||||
|
f.write('''
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
CoFreeUnusedLibrariesEx(0,0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
''')
|
||||||
|
|
||||||
|
self.assertEqual(call_symbol_check(cc, source, executable, ['-lole32']),
|
||||||
|
(0, ''))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue