This is an archive of the discontinued LLVM Phabricator instance.

FFix TestSBData.py on Windows (which uses Python 3)
AbandonedPublic

Authored by amccarth on Feb 21 2018, 4:19 PM.

Details

Reviewers
zturner
Summary

This test uses the SB API to set and read back bytes of data, and it works fine
when Python 2 is the scripting language. On Windows, however, Python 3 is the
default.

Note this line from the test:

addr_data = '\x11\x22\x33\x44\x55\x66\x77\x88'

The intent here is to create an array of eight bytes as a string literal. This
works in Python 2, but Python 3 treats those as a series Unicode code points,
and the CPython implementation happens to encode those code points as UTF-8.
The first seven characters encode directly as single bytes of the same value,
but the UTF-8 encoding of 0x88 is two bytes long: 0xC2 0x88. Thus the input
array doesn't have the intended data at the end, and tests that rely on the
byte fails.

Adding the b prefix tells Python 3 that we want a byte array rather than a
string. With this change, the test now passes on Windows.

Fix TestMoveNearest on Windows

The header file for the DLL tried to declare inline functions and a local
function as dllexport which broke the compile and link. Removing the bad
declarations solves the problem, and the test passes on Windows now.

Event Timeline

amccarth created this revision.Feb 21 2018, 4:19 PM
amccarth abandoned this revision.Feb 21 2018, 4:21 PM

Please ignore. I'm still trying to figure out arc.