This is an archive of the discontinued LLVM Phabricator instance.

Fix portability problems in lots of tests
ClosedPublic

Authored by zturner on Jul 17 2014, 3:23 PM.

Details

Summary

99% of this CL is simply moving calls to "import pexpect" to a more narrow scope - i.e. the function that actually runs a particular test. This way the test suite can run on Windows, which doesn't have pexpect, and the individual tests that use pexpect can be disabled on a platform-specific basis.

There were a handful of other changes that address other portability issues. Notably, using "ps" to get the command line (changed to use ' '.join(sys.argv)), and using os.uname() which isn't on Windows.

Diff Detail

Repository
rL LLVM

Event Timeline

zturner updated this revision to Diff 11614.Jul 17 2014, 3:23 PM
zturner retitled this revision from to Fix portability problems in lots of tests.
zturner updated this object.
zturner edited the test plan for this revision. (Show Details)
zturner added a reviewer: tfiala.
zturner added a subscriber: Unknown Object (MLST).
zturner updated this revision to Diff 11616.Jul 17 2014, 3:35 PM
zturner updated this object.

Adds the builder_win32 module. Test suite runs!

tfiala edited edge metadata.Jul 17 2014, 4:21 PM

Sweet goodness. I will give this a shot tonight on a few systems.

Tested:
MacOSX 10.9.4, Xcode 6 Beta 1, all tests passed.

I'll hit this on Linux tonight.

tfiala accepted this revision.Jul 17 2014, 5:57 PM
tfiala edited edge metadata.

Linux (Ubuntu 14.04 x86_64) local tests passed with nothing new broken. I did see the one test that I am seeing fail occasionally, TestStopHookMultipleThreads.py, but this has been failing independent of these test changes).

This revision is now accepted and ready to land.Jul 17 2014, 5:57 PM
zturner closed this revision.Jul 17 2014, 6:10 PM
zturner updated this revision to Diff 11623.

Closed by commit rL213343 (authored by @zturner).