Commit Graph

34 Commits (bdc94eac5cda3dd6700a1cd462178b7ac3c4cfec)

Author SHA1 Message Date
Ansariel 0e325eab28 Merge branch 'DRTVWR-568' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	autobuild.xml
#	indra/CMakeLists.txt
#	indra/cmake/Copy3rdPartyLibs.cmake
#	indra/cmake/Python.cmake
#	indra/llcommon/llsd.h
#	indra/llcommon/llstl.h
#	indra/llinventory/llparcel.cpp
#	indra/llmessage/llmessagethrottle.cpp
#	indra/llui/lldockablefloater.h
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfloater360capture.cpp
#	indra/newview/llfloaterregioninfo.cpp
#	indra/newview/llwatchdog.cpp
#	indra/newview/viewer_manifest.py
2022-09-17 14:37:33 +02:00
Nat Goodspeed 15d37713b9 DRTVWR-558: Fix builds on macOS 12.5 Monterey.
Always search for python3[.exe] instead of plain 'python'. macOS Monterey no
longer bundles Python 2 at all.

Explicitly make PYTHON_EXECUTABLE a cached value so if the user edits it in
CMakeCache.txt, it won't be overwritten by indra/cmake/Python.cmake.

Do NOT set DYLD_LIBRARY_PATH for test executables! That has Bad Effects, as
discussed in https://stackoverflow.com/q/73418423/5533635. Instead, create
symlinks from build-mumble/sharedlibs/Resources -> Release/Resources and from
build-mumble/test/Resources -> ../sharedlibs/Release/Resources. For test
executables in sharedlibs/RelWithDebInfo and test/RelWithDebInfo, this
supports our dylibs' baked-in load path @executable_path/../Resources. That
load path assumes running in a standard app bundle (which the viewer in fact
does), but we've been avoiding creating an app bundle for every test program.
These symlinks allow us to continue doing that while avoiding
DYLD_LIBRARY_PATH.

Add indra/llcommon/apply.h. The LL::apply() function and its wrapper macro
VAPPLY were very useful in diagnosing the problem.

Tweak llleap_test.cpp. This source was modified extensively for diagnostic
purposes; these are the small improvements that remain.
2022-08-22 21:00:42 -04:00
Ansariel 2ba4a164e2 Merge branch 'DRTVWR-527-maint' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	autobuild.xml
#	indra/cmake/Python.cmake
#	indra/lib/python/indra/util/llmanifest.py
#	indra/lib/python/indra/util/test_win32_manifest.py
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcommon/llerror.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/lleventnotifier.cpp
#	indra/newview/llpanellandmarks.cpp
#	indra/newview/llpreviewanim.cpp
#	indra/newview/llpreviewanim.h
#	indra/newview/llviewerregion.cpp
#	indra/newview/skins/default/xui/de/menu_place_add_button.xml
#	indra/newview/skins/default/xui/it/menu_place_add_button.xml
#	indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
#	indra/newview/skins/default/xui/ja/menu_place_add_button.xml
#	indra/newview/skins/default/xui/pl/menu_place_add_button.xml
#	indra/newview/skins/default/xui/pl/menu_teleport_history_item.xml
#	indra/newview/skins/default/xui/ru/menu_place_add_button.xml
#	indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
#	indra/newview/viewer_manifest.py
2021-12-16 12:32:34 +01:00
Bennett Goble f729cfc33f SL-15742: Convert build scripts to Python 3
This changeset makes it possible to build the Second Life viewer using
Python 3. It is designed to be used with an equivalent Autobuild branch
so that a developer can compile without needing Python 2 on their
machine.

Breaking change: Python 2 support ending

Rather than supporting two versions of Python, including one that was
discontinued at the beginning of the year, this branch focuses on
pouring future effort into Python 3 only. As a result, scripts do not
need to be backwards compatible. This means that build environments,
be they on personal computers and on build agents, need to have a
compatible interpreter.

Notes

- SLVersionChecker will still use Python 2 on macOS
- Fixed the message template url used by template_verifier.py
2021-12-10 14:42:49 -08:00
Nat Goodspeed 70a0b52039 DRTVWR-494: Show copy-paste-friendly env vars and test command.
Moderately often I want to copy the (long) integration test program path from
build output and rerun the test program by hand. But typically we need
environment variables set as well so it can find its dynamic libraries. This
has resulted in my copying parts of several lines of build output, then
pasting to a command prompt, then hand-tweaking the pasted text so it makes
sense as a command.

Streamline run_build_test.py output so less hand-tweaking is needed.
2020-03-25 15:28:17 -04:00
Ansariel 797fa6718b Merge 494-maint-wassail 2019-11-28 17:09:26 +01:00
Nat Goodspeed 4cb6e9ee08 DRTVWR-494: Show copy-paste-friendly env vars and test command.
Moderately often I want to copy the (long) integration test program path from
build output and rerun the test program by hand. But typically we need
environment variables set as well so it can find its dynamic libraries. This
has resulted in my copying parts of several lines of build output, then
pasting to a command prompt, then hand-tweaking the pasted text so it makes
sense as a command.

Streamline run_build_test.py output so less hand-tweaking is needed.
2019-11-23 22:16:39 -05:00
Ansariel 12d0320c5e FIRE-23063: Replace deprecated exception handling syntax that isn't supported in Python 3 anymore; Path by Lance Corrimal 2018-10-12 11:11:55 +02:00
Oz Linden b6cdeb2271 MAINT-7130: suppress stdout from run_build_tests by
converting to logging so that stdout from its command can be captured
cleanly
Make the default be to not print anything
2017-02-15 13:00:20 -05:00
Oz Linden 83f2f43e36 convert run_build_tests to use argparse rather than optparse 2017-02-15 12:14:30 -05:00
Glenn Glazer 49552a874c SL-321: remove redundant const declaration of MD5HEX_STR_SIZE in llversioninfo, remove extraneous python variable assignment in CMakeLists, run tests with INFO 2017-03-01 23:28:11 -08:00
Oz Linden 7bbf2ec9f8 correct exception thrown for unknown system 2016-03-22 16:35:47 -04:00
Nat Goodspeed d24c59bb13 Add logic to attempt to look up large Windows negative return codes.
A large negative return code doesn't do a human reader any good, even for
lookup purposes, because Microsoft's lookup tables list the hex representation
of that integer. So at least format the return code as hex.
Going further, we've captured the content of the web page
https://msdn.microsoft.com/en-us/library/cc704588.aspx
as windows-rcs.html. If we can parse that file, and if we understand the
structure of its table entries, and if the hex form of the actual return code
is in fact listed there, we can display the symbol name and description as
well as the hex return code.
All those maybes are to support refreshing the file from the URL above (or
wherever it might get moved) from time to time. Later versions of that file
might change in unexpected ways.
If we can't look up the hex rc, oh well, just display that to the user instead
of crumping.
2015-03-25 13:28:15 -04:00
Nat Goodspeed 0d71baba74 Produce error message, not traceback, when test program doesn't build.
A traceback from a Python script always makes people think there's a bug in
your script. Even when a test program fails to build, CMake often (always?)
tries to run it anyway, via our run_build_test.py script. For that case,
produce a straightforward error message -- rather than an OSError traceback
that doesn't even mention the program name!
2014-12-17 11:10:33 -05:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Nat Goodspeed f0c8c4e8fb For a test program killed by signal, display signal name. 2012-03-12 12:05:18 -04:00
Dave SIMmONs d6f7526abf Merge 2011-05-24 14:28:25 -07:00
Nat Goodspeed e9b454f5f9 Slightly improve sanity of run_build_test.py output.
Flushing print buffer before running actual test executable should make it
clearer which setup actions apply to which test run.
2011-05-04 10:49:45 -04:00
Oz Linden c190189057 merge changes for storm-937 2011-02-17 14:56:33 -05:00
Merov Linden 896bc12a2b STORM-937 : Fix python scripts shebang line and license header for consistency 2011-02-09 15:23:07 -08:00
jenn 0d6ec39f44 Cmake updates to get llkdu building on linux. Need to rebuild kdu tarball next. 2011-01-19 10:03:51 -08:00
Leyla Farazha a4b223248e Merge 2010-09-27 17:54:52 -07:00
Aimee Linden ffae589843 Post-convert merge by convert_monolith.py from /Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution 2010-09-03 17:41:39 +01:00
Christian Goetze (CG) 3a8a3301f9 Prepend passed in path arguments, except when they are system paths. 2010-09-13 14:05:53 -07:00
Christian Goetze (CG) e0da08da69 Clean up the LD_LIBRARY_PATH list prior to re-assembling it into a string. 2010-09-13 13:44:17 -07:00
Christian Goetze (CG) e7dc84df0d Add debug output to "indra/cmake/run_build_test.py". 2010-09-13 13:18:49 -07:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Oz Linden fedb5a25a2 correct license tags from "internal" to "viewergpl" 2010-08-12 20:30:21 -04:00
CG Linden dd6cfa8f98 Uncomment the run_build_test.py args to debug problem with coverity builds 2009-11-25 16:59:11 -08:00
Bryan O'Sullivan 699eac4ee3 Switch some files to Unix line endings 2009-11-18 17:52:03 -08:00
Loren Shih 59eb2815bf merge
--HG--
branch : avatar-pipeline
2009-11-13 18:28:27 -05:00
Loren Shih 0dd9871012 merge
--HG--
branch : avatar-pipeline
2009-11-03 14:02:02 -05:00
Nat Goodspeed b9546a33e9 QAR-1619: Finish replacing RunBuildTest.cmake with run_build_test.py.
Because the details of RunBuildTest.cmake versus run_build_test.py had to be
changed in so many different places, introduce LL_TEST_COMMAND CMake macro (in
LLTestCommand.cmake) to encapsulate construction of the actual command line.
Use LL_TEST_COMMAND in LL_ADD_PROJECT_UNIT_TESTS, LL_ADD_INTEGRATION_TEST, the
big indra/test monolith and the various LslCompilerMacros.
Fix run_build_test.py to pass through the test executable's own options (e.g.
--touch, --output) without inspection. Defend it against the case when the
platform-specific library path environment variable doesn't yet exist. Make it
report errors only on nonzero test-program rc.
Remove RunBuildTest.cmake.
2009-09-08 12:03:32 -04:00
Nat Goodspeed afe09c1385 QAR-1619: Replace RunBuildTest.cmake with run_build_test.py for LSL tests.
RunBuildTest.cmake can't handle pathnames containing spaces.
run_build_test.py accepts an arbitrary number of individually-quoted
command-line arguments, passing each through to Python's subprocess.call().
2009-09-04 11:30:19 -04:00