summaryrefslogtreecommitdiff
path: root/indra/cmake/run_build_test.py
AgeCommit message (Collapse)Author
2022-08-22DRTVWR-558: Fix builds on macOS 12.5 Monterey.Nat Goodspeed
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.
2021-12-10SL-15742: Convert build scripts to Python 3Bennett Goble
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
2020-03-25DRTVWR-494: Show copy-paste-friendly env vars and test command.Nat Goodspeed
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.
2017-03-01SL-321: remove redundant const declaration of MD5HEX_STR_SIZE in ↵Glenn Glazer
llversioninfo, remove extraneous python variable assignment in CMakeLists, run tests with INFO
2017-02-15MAINT-7130: suppress stdout from run_build_tests byOz Linden
converting to logging so that stdout from its command can be captured cleanly Make the default be to not print anything
2017-02-15convert run_build_tests to use argparse rather than optparseOz Linden
2016-03-22correct exception thrown for unknown systemOz Linden
2015-03-25Add logic to attempt to look up large Windows negative return codes.Nat Goodspeed
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.
2014-12-17Produce error message, not traceback, when test program doesn't build.Nat Goodspeed
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!
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-03-12For a test program killed by signal, display signal name.Nat Goodspeed
2011-05-24MergeDave SIMmONs
2011-05-04Slightly improve sanity of run_build_test.py output.Nat Goodspeed
Flushing print buffer before running actual test executable should make it clearer which setup actions apply to which test run.
2011-02-17merge changes for storm-937Oz Linden
2011-02-09STORM-937 : Fix python scripts shebang line and license header for consistencyMerov Linden
2011-01-19Cmake updates to get llkdu building on linux. Need to rebuild kdu tarball next.jenn
2010-09-27MergeLeyla Farazha
2010-09-03Post-convert merge by convert_monolith.py from ↵Aimee Linden
/Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution
2010-09-13Prepend passed in path arguments, except when they are system paths.Christian Goetze (CG)
2010-09-13Clean up the LD_LIBRARY_PATH list prior to re-assembling it into a string.Christian Goetze (CG)
2010-09-13Add debug output to "indra/cmake/run_build_test.py".Christian Goetze (CG)
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-12correct license tags from "internal" to "viewergpl"Oz Linden
2009-11-25Uncomment the run_build_test.py args to debug problem with coverity buildsCG Linden
2009-11-18Switch some files to Unix line endingsBryan O'Sullivan
2009-11-13mergeLoren Shih
--HG-- branch : avatar-pipeline
2009-11-03mergeLoren Shih
--HG-- branch : avatar-pipeline
2009-09-08QAR-1619: Finish replacing RunBuildTest.cmake with run_build_test.py.Nat Goodspeed
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-04QAR-1619: Replace RunBuildTest.cmake with run_build_test.py for LSL tests.Nat Goodspeed
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().