2
0
mirror of https://github.com/boostorg/build.git synced 2026-01-19 04:02:14 +00:00
Files
build/test/abs_workdir.py

46 lines
1.2 KiB
Python

# 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=os.path.join(os.getcwd(), "must", "fail", "with", "absolute", "path"),
)
except ValueError as e:
assert "subdir" in str(e), e
else:
raise ValueError("exception expected")
finally:
t.cleanup()