Comments (6)
Isn't this the case already through use of boost_test
/boost_test_jamfile
?
Or did I miss any?
Lines 39 to 44 in f7b1de5
from locale.
Oh, that's examples, not tests.
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_boundary.dir/boundary.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_boundary
[ 43%] Built target boost_locale-expl_boundary
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_calendar.dir/calendar.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_calendar
[ 43%] Built target boost_locale-expl_calendar
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_collate.dir/collate.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_collate
[ 43%] Built target boost_locale-expl_collate
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_conversions.dir/conversions.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_conversions
[ 43%] Built target boost_locale-expl_conversions
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_hello.dir/hello.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_hello
[ 43%] Built target boost_locale-expl_hello
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_wboundary.dir/wboundary.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_wboundary
[ 43%] Built target boost_locale-expl_wboundary
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_wconversions.dir/wconversions.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_wconversions
[ 43%] Built target boost_locale-expl_wconversions
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_whello.dir/whello.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_whello
[ 43%] Built target boost_locale-expl_whello
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_perf_collate.dir/performance/perf_collate.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_perf_collate
[ 43%] Built target boost_locale-expl_perf_collate
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_perf_convert.dir/performance/perf_convert.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_perf_convert
[ 43%] Built target boost_locale-expl_perf_convert
[ 43%] Building CXX object libs/locale/examples/CMakeFiles/boost_locale-expl_perf_format.dir/performance/perf_format.cpp.o
[ 43%] Linking CXX executable ../../../stage/bin/boost_locale-expl_perf_format
[ 43%] Built target boost_locale-expl_perf_format
Not sure what we're supposed to do with these. I usually treat them as compile tests.
from locale.
In the context of what we have right now it makes sense then I guess
I'm still wondering WHY we do that.
The usual workflow for pretty much any software I built so far (and that's a lot given I'm co-maintaining an HPC cluster) is: configure && make && make test && make install
(or the equivalent on other buildsystems, e.g. cmake
instead of configure
)
With EXCLUDE_FROM_ALL we break this "convention" by having make test
(or ctest .
) be a silent no-op unless make tests
is executed before.
I try to go for the least element of surprise and deviating from semi-standard behavior, especially if it leads to silent unexpected results, is surprising.
So what was the motivation? IMO building ALL with make all
serves as a smoke test if the library works on the current system/compiler/..., i.e. there are no unmet expectations on that system from the library dev.
And when adding/changing something myself I use the ALL target to quickly see if I missed anything obvious. I'll now need to remember to use the tests
target for that.
Finally having make tests
and make test
might be confusing
from locale.
No, ctest
is not a silent no-op, all the tests that haven't been built fail, because the executables aren't there.
IMO building ALL with make all serves as a smoke test if the library works on the current system/compiler/...
But that's not what it does at all. It builds all of Boost, not "the library".
from locale.
No, ctest is not a silent no-op, all the tests that haven't been built fail, because the executables aren't there.
You are right. I confused it with the case that no tests were added at all in which case ctest will succeed without having run anything. There is the flag --no-tests=error
to detect that case, which can happen if ENABLE_TESTING was accidentally disable somewhere.
from locale.
--output-on-failure and --no-tests=error should have been the default, really. I have a check
target that runs ctest with these, but the problem with it is that there's no good way to pass the correct -j to it.
from locale.
Related Issues (20)
- Add test for wconv_to_utf
- [Q] Meaning of utf8_from_wide/utf8_native_with_wide HOT 1
- Std backend falls back to system locale instead of C locale on Windows HOT 8
- Stream read/write with generated locales defaults to classic format/parse HOT 4
- test_formatting failure, ICU >= 72.1
- error C2220: warning treated as error, warning C4702: unreachable code HOT 1
- icu only build on windows fails
- Boost-locale compiled with vcpkg won't pass program linking HOT 4
- Missing boost_locale on a build for Haiku HOT 5
- Bad behaviour with multiple curly braces in format string HOT 2
- Crash on macOS 14.0 HOT 8
- locale::conv::from_utf freezing on macOS14 and iOS17 because iconv library HOT 12
- boost 1.83.0 on macOS Sonoma doesn't build boost_locale.a HOT 6
- libboost_locale 1.82.0 will not build on MacOS Sonoma Intel HOT 11
- Use of boost::locale::collator crashes when not using ICU/WinAPI HOT 1
- date_time created with decimals HOT 8
- Fail to build wich cxxstd=20 on Clang HOT 6
- Boost.Locale 1.84.0: boost::locale::to_title() is no longer threadsafe under Windows with ICU HOT 2
- How to Verify boost::locale::generator? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from locale.