40 lines
1.2 KiB
Python
Executable File
40 lines
1.2 KiB
Python
Executable File
# Niklaus Giger, 2005-03-15
|
|
# Testing whether we may run a test in absolute directories. There are no tests
|
|
# for temporary directories as this is implictly tested in a lot of other cases.
|
|
|
|
# TODO: Move to a separate testing-system test group.
|
|
|
|
import BoostBuild
|
|
import os
|
|
import tempfile
|
|
|
|
# Python 2.7 does not implement os.path.samefile on Windows
|
|
import ntpath
|
|
if not hasattr(ntpath, "samefile"):
|
|
def samefile(f1, f2):
|
|
try:
|
|
from os.path.nt import _getfinalpathname
|
|
return os.path._getfinalpathname(f1) == os.path._getfinalpathname(f2)
|
|
except (NotImplementedError, ImportError):
|
|
return os.path.abspath(f1) == os.path.abspath(f2)
|
|
|
|
ntpath.samefile = samefile
|
|
|
|
t = BoostBuild.Tester(["-ffile.jam"], workdir=os.getcwd(), pass_d0=False,
|
|
pass_toolset=False)
|
|
|
|
t.write("file.jam", "EXIT [ PWD ] : 0 ;")
|
|
|
|
t.run_build_system()
|
|
t.fail_test(not os.path.samefile(t.stdout().rstrip("\n"), os.getcwd()))
|
|
|
|
try:
|
|
t.run_build_system(status=123, subdir="/must/fail/with/absolute/path",
|
|
stderr=None)
|
|
except ValueError as e:
|
|
assert "subdir" in str(e), e
|
|
else:
|
|
raise ValueError("exception expected")
|
|
finally:
|
|
t.cleanup()
|