2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-01 08:22:15 +00:00

221 Commits

Author SHA1 Message Date
Nikita Kniazev
cd7c1537f8 Rename os unknown to none (#386)
Apparently it was a Clang target normalization bug (issues/89582).
2024-05-21 20:50:39 -05:00
Nikita Kniazev
be168aca85 Default to Clang on FreeBSD and OpenBSD (#369)
* FreeBSD since 2012: https://lists.freebsd.org/pipermail/freebsd-current/2012-September/036480.html
* OpenBSD since 2017-2020: https://marc.info/?l=openbsd-cvs&m=150109829003860
2024-04-20 15:35:34 -05:00
Rene Rivera
c855511d83 Try forcing the system locale to utf-8 for C land.
[skip ci]
2024-01-11 08:43:32 -06:00
Rene Rivera
36aaf601de Brute force open fname to utf-8 as system encoding is bonkers on py 3.5.
[ski ci]
2024-01-10 23:05:01 -06:00
Rene Rivera
7514810365 Try forcing the file name to the platform encoding.
[skip ci]
2024-01-10 21:16:19 -06:00
Rene Rivera
bf44f19c1d Avoid py f-strings to support py < 3.6. 2024-01-09 08:16:37 -06:00
Rene Rivera
95befc9ea0 Force utf8 test message output. 2024-01-05 07:53:15 -04:00
Rene Rivera
8c329fcb88 Fix mixed up use of escaped back-slash. 2023-11-29 23:07:59 -06:00
Nikita Kniazev
2aa8cf82b9 Long path and Unicode support on Windows 10.0.1607/10.0.1903+ (#316)
Long path support is still not universal, even after an app has explicitly opted-in via manifest it also requires registry modification or group policies, see https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later though Python and Git installers nudges to enable it by their installers for a while.

`-X utf8` forces Python to use UTF-8 when its outputs are piped (will be default in 3.15 https://peps.python.org/pep-0686/)

Also had to fix clang-linux and msvc toolsets manifest embedding issues.
2023-07-22 09:33:51 -05:00
Nikita Kniazev
c653af1954 emscripten renovation (#310)
* test suite fixes for link=static default

* emscripten renovation

* inherit from clang toolset
* update for 'new' fastcomp backend
* exceptions support
* dynamic linking support
* pthread support
* run-tests launcher via nodejs
2023-07-17 21:53:06 -05:00
Nikita Kniazev
cdab17f69c Fix disappeared messages from asserts (#301)
Regressed after porting assert and errors modules to native modules.
2023-07-16 08:36:39 -05:00
Nikita Kniazev
e8a753db99 mingw/msys/cygwin winthreads/pthread fixes (#284)
-mthreads is obsolete and is not presented in clang, and was never a thing in cygwin (fixes #38).

I have no idea why clang was configured to add -pthread on threadapi=win32, changing this is a breaking change but is the right thing to do. I run Boost.Thread tests and it passed cleanly on both threadapi=win32 and threadapi=pthread.
2023-04-23 20:50:28 -05:00
Nikita Kniazev
2310d41abe pdb order issues tentative fix (#277)
* update tag test to check pdbs too

* pdb order issues tentative fix

I believe this is the root cause of mysterious bugs involving pdbs:
  1. `replace-targets` may rearrange targets order, which might be the cause of
     exe/dll/lib swapping places.
  2. The hack in `msvc-linking-generator` were messing things up somehow when
     `virtual-target.register` returns a cached target.

Even if the change does not fix these issues it is still a good code refactor.

* use usual name generation machinery for pdbs
2023-04-22 08:08:57 -05:00
Nikita Kniazev
3b37e2035d test suite: use python builtin difflib library (#275) 2023-04-21 20:14:46 -05:00
Nikita Kniazev
0f21716c62 test suite: msys/cygwin fixes (#253) 2023-04-20 07:19:46 -05:00
Nikita Kniazev
74b625f04b CI: macos gcc tests runner (#256)
* macos gcc runner

* exec_wait: fix sign-compare gcc warning
2023-04-14 09:49:17 -05:00
Nikita Kniazev
8f0780c2b8 test suite: don't open with U mode on python 3 (#252)
It had been deprecated since python 3.0 and was removed in python 3,11
2023-04-12 21:26:46 -05:00
Nikita Kniazev
633bc322f8 A few fixes to PCH (#213)
* Test: Invoke b2 with .exe suffix on Windows

* GCC: Pass -ftemplate-depth-xxx when building PCH

* MSVC: Fix PCH include directory and pass only PCH-header name to -Yu

Apparently `[ $(pch-header).path ]` gives the wrong path to the header.
2023-03-11 07:25:16 -06:00
Nikita Kniazev
7d0704debb Reanimate bunch of abandoned tests (#43)
* Remove useless and unused railsys test
* Reanimate bunch of abandoned tests
2021-06-23 22:59:17 -05:00
Nikita Kniazev
b522b50bf0 Clang: Use --version instead of -dumpversion (#39)
* Clang: Use --version instead of -dumpversion

Fixes issue when Clang 8 and below determined as 4.2.1 version.

* Bootstrap and test with versioned toolset

Eliminates need to manual configure toolsets via `user-config.jam` for testing, and allows to pass to `bootstrap.sh` the same toolset string as you would to B2 invocation what eliminates need to specify a custom exec via `--cxx=`.
2021-06-11 17:49:01 -05:00
Nikita Kniazev
64dbb277b0 Include pch header automatically and on-demand (#19)
Previously it was needed to include pch header in every source file, but Clang does it automatically making the usage non-uniform. It is also a very noisy process to add pch header to an existing project. Automatic on-demand header inclusion solves both issues.

* pch: msvc source automatic header folder inclusion
* pch test refactoring
* pch test msvc automatic pch source generation
* Include pch header automatically and on-demand
* no more need in gcc pch naming hack
2021-05-03 10:56:15 -05:00
Rene Rivera
c9cc1ae2ed Replace refs to boost.org witth bfgroup.xyz. 2021-02-20 21:35:16 -06:00
Nikita Kniazev
e652fa47bd Implement PCH on clang-win and clang-darwin (#626)
* clang-win: enable PCH
* clang-darwin: implement PCH
2021-02-01 22:42:29 -06:00
Rene Rivera
ddf2a8c5e0 Add support to override b2 exec for testing.
Adds use of `B2` env var to specify the b2 exec to use for testing.
This allows us to use debug and sanitizer builds for testing.
2020-12-31 08:34:59 -06:00
Edward Diener
d8cdc48fa6 Warning about writing to the console when running the tests for Boost Build. (#470)
* Add a warning to running the Boost Build tests about outputting to the console in a configuration jam file.

* Fix the tests if the toolset passed has a version.
2019-08-28 07:10:31 -05:00
Rene Rivera
4348970fc8 Fix unit tests to account for -j default. 2019-06-03 22:02:40 -05:00
Rene Rivera
3549a4d5da MinGW passes all tests. 2019-04-02 00:09:54 -05:00
Rene Rivera
85e5a2caa8 Port b2 tests to dual py2 and py3.
Now that the tests work in py2 or p3 we don't set py version in AP. This
allows for dealing with the AP images that don't have a way to set the
py version.
2019-03-31 15:37:03 -05:00
Rene Rivera
698aac70d5 Minimal changes to compile with C++.
These are some minimal changes to compile with C++. Here begins
the road to rewriting the bjam engine in C++. So far this is only built
and tested with XCode clang on OSX.
2018-10-20 17:36:10 -05:00
luzpaz
a2b8731d2a build: misc.typos (#341)
* build: misc.typos

Found via `codespell -q 3 --skip="./src/engine/boehm_gc" -L te,iff`

* Revert 3rdParty code changes
2018-09-26 09:54:06 -07:00
Steven Watanabe
ed37fd04af Merge regression.py, testing_support.py and test_result_dumping.py into testing.py. Also, make the tests from more systematic. 2018-01-12 15:45:20 -07:00
Steven Watanabe
e350366096 Add a Jamfile in the test directory which runs test_all.py. Refs #268.
* python.jam: Allow run-pyd to work with just a python script.
* BoostBuild.py: Adjust paths to work regardless of the current
  working directory.
2018-01-09 07:49:59 -07:00
Steven Watanabe
429081e45e expect_content inadvertently ignored the first element. 2018-01-08 15:56:53 -07:00
Steven Watanabe
fa78d4fed7 Don't pass -d0, except for the tests that actually require it. Suppress global -d arguments for tests that check stdout or set -d explicitly. All tests now pass in verbose mode. 2017-12-26 13:25:40 -07:00
Steven Watanabe
89b0e49d99 Adjust expected suffixes to work on OSX and windows for gcc.py. 2017-12-26 09:50:33 -07:00
Steven Watanabe
6fce57e7da Make sure that we can always detect touched files even if we didn't wait for any other reason. 2017-12-18 11:20:44 -07:00
Steven Watanabe
a96e3fcbc5 ignore doesn't handle . 2017-12-16 15:05:46 -07:00
Steven Watanabe
ff10c58b99 Fix Windows tests. 2017-12-16 13:16:21 -07:00
Rene Rivera
73f3b7c5e7 Fix to ignore extra junk files on OSX under all contexts. 2017-07-04 22:22:52 -05:00
Rene Rivera
40e7f0e8dd Fix tests to pass on Windows after removing toolset requirements ignore.
Various restructure of test framework handling of paths to avoid duplicate path editing which caused failed tests. Adjust many tests to deal with added subdirectories in build outputs now that toolset requirements are active.
2017-07-02 23:28:48 -05:00
Rene Rivera
95f62c996c Replace all uses of os.name with proper target-os declarations.
Make gcc almost fully work on OSX and adjust clang toolsets to deal with
gcc changes. Adjust test framework to deal with gcc running on OSX for
the first time.
2017-06-19 18:55:28 -05:00
Steven Watanabe
80c0f5f8d2 Tests for MI. 2017-03-30 13:24:09 -06:00
Aaron Boman
1bd0eab600 Enable type checking for Python tests. 2016-10-27 20:22:03 -05:00
Aaron Boman
0055072ad6 Support passing --stacktrace to tests. 2016-10-27 20:21:59 -05:00
Rene Rivera
856e7e9f33 Fix detection of built-in bjam/b2 exec on Darwin when running on modern
x86_64 machines.
2015-04-10 08:24:05 -05:00
Vladimir Prus
5d8dd4c4a6 Adjust relative paths to match git rewritten history. 2013-12-14 21:28:49 +04:00
Steven Watanabe
f75b63a62b Try to fix path handling for the Jam executable.
[SVN r83836]
2013-04-10 20:38:21 +00:00
Steven Watanabe
34f34e5436 Implement caching for configuration checks.
[SVN r83781]
2013-04-06 21:40:55 +00:00
Jurko Gospodnetić
cac4b6b2e4 Internal Boost Build testing framework cleanup - expecting output/content lines now correctly interprets requests with lines given as a container of strings.
Given strings represent expected continuous line sequences (separated by \n) and extra lines are allowed between content represented by different successive strings. For example, lines = ['foo\nbar', 'baz'] would match:
  aaa
  foo
  bar
  bbb
  baz
  ccc
but would not match:
  aaa
  foo
  xxx
  bar
  bbb
  baz
  ccc

Added a description comment for the related Tester.__expect_lines() implementation function.

[SVN r80088]
2012-08-20 10:08:28 +00:00
Jurko Gospodnetić
a2413be235 Restored old Boost Jam '-v' version information screen to what it was like before revision [79779] as requested by Steven Watanabe. Boost Jam now reports its minimum supported path modification timestamp resolution using a new builtin JAM_TIMESTAMP_RESOLUTION variable. Updated Boost Build's internal testing system to correctly fetch this Boost Jam version information.
[SVN r79880]
2012-08-05 18:31:19 +00:00