summaryrefslogtreecommitdiff
path: root/indra/test
AgeCommit message (Collapse)Author
2018-02-13mergeBrad Payne (Vir Linden)
2018-01-17merge 5.1.0-releaseOz Linden
2018-01-17mergeBrad Payne (Vir Linden)
2017-12-20MAINT-8087: Use env vars from VMP for AppData\Roaming and Local.Nat Goodspeed
On Windows, when logged in with a non-ASCII username, every one of the three documented APIs -- SHGetSpecialFolderPath(), SHGetFolderPath() and SHGetKnownFolderPath() -- fails to retrieve any pathname at all. We cannot account for the fact that the oldest of these continues to work with the release viewer and within a Python script (though not, curiously, from a Python interactive session). With a non-ASCII username, they consistently fail when called from an Alex Ivy viewer build: "The filename, directory name, or volume label syntax is incorrect." Empirically, with a non-ASCII username, the preset APPDATA and LOCALAPPDATA environment variables are also useless, e.g. c:\Users\??????\AppData\Roaming where those are, yup, actual question marks. Empirically, the VMP is able to successfully call SHGetFolderPath() to retrieve both AppData\Roaming and AppData\Local. Therefore, we make the VMP set the APPDATA and LOCALAPPDATA environment variables to the UTF-8 encoded correct pathnames. Instead of calling SHGetSomethingFolderPath() at all, make LLDir_Win32 retrieve those environment variables. Make LLFile::mkdir() treat "directory already exists" as a success case. Every single call fell into one of two categories: either it didn't check success at all, or it tested specially to exempt errno == EEXIST. Migrate that test into mkdir(); eliminate it from call sites. Make LLDir::append() and add() convenience functions accept variadic arguments. Replace add(add()...) constructs, as well as clumsy concatenations of directory names and getDirDelimiter(), with simple variadic add() calls.
2017-12-14MAINT-8087: New LLDir_Win32 code requires ole32 in a few more places.Nat Goodspeed
2017-11-27Added boost::hash<> spec for LLSDRider Linden
2017-10-11Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-10-11mergeBrad Payne (Vir Linden)
2017-10-11merge changes for 5.0.8-releaseOz Linden
2017-06-30Added cycle_object_animations.lsl. Also change to test.cpp to see if it ↵Brad Payne (Vir Linden)
affects a g++ internal compiler error.
2017-06-20merge changes for 5.0.6-releaseOz Linden
2017-06-20Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-08-30MAINT-7758 Fixed freeze on loading lsl scripts from unicode named windows ↵andreykproductengine
folder.
2017-05-24no-op edit to force a rebuildBrad Payne (Vir Linden)
2017-04-11DRTVWR-434 - trivial code change to trigger TC rebuild, also slight ↵Brad Payne (Vir Linden)
improvement to a log message
2017-02-27Look for logcontrol-dev.xml in the user settings directoryOz Linden
2017-02-03Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-12-19DRTVWR-418: Fix streamtools test.Nat Goodspeed
When std::istream::good() returns false, presumably we can no longer rely on get() returning valid data. Certain streamtools tests were assuming that get() would return the empty string at EOF, but in fact it appears that it left the previous buffer contents unmodified.
2016-10-11MAINT-5232: Merge up to VLC viewer from viewer-releaseNat Goodspeed
2016-08-30Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2016-07-01Automated merge with ssh://bitbucket.org/nat_linden/viewer-mac-mainloopNat Goodspeed
2016-06-30DRTVWR-418: Unify control flow through LLAppViewer across platforms.Nat Goodspeed
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This makes sense -- but on Mac that structure was being subverted. The method called mainLoop() was in fact being called once per frame. There was initialization code in the method, which (on Mac) needed to be skipped with an already-initialized bool. There was a 'while' loop which (on Mac) needed to be turned into an 'if' instead so the method would return after every frame. Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer and LLCrashLogger. Document the fact that frame() returns true to mean "done." (This was always the case, but had to be inferred from the code.) Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free function it calls from runMainLoop() to pumpMainLoop(). Add comments to llappdelegate-objc.mm explaining (inferred) control flow. Change the Linux viewer main() and the Windows viewer WINMAIN() from a single LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true. Move initialization code from the top of LLAppViewer::frame() to the init() method, where it more properly belongs. Remove corresponding mMainLoopInitialized flag (and all references) from LLAppViewer. Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())') from LLAppViewer::frame() -- thus unindenting the whole body of the 'while' and causing many lines of apparent change. (Apologies to reviewers.) There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING, APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know under what circumstances the state might transition to STOPPED during a frame() call, but I'm quite sure that if it does, we don't want to call frame() again. We only want a subsequent call if the state is RUNNING. Also rename mainLoop() method in LLCrashLogger subclasses LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's completely up to the frame() method whether to yield control; none of those in fact do. Honor protocol by returning true (frame() is done), even though each one's main() caller ignores the return value. In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol correctly anyway, returning wParam or 0 or 1 -- possibly because the return protocol was never explicitly documented. It should always return true: "I'm done, don't call me again."
2016-05-19Automated merge with tip of viewer-release to pick up 4.0.5callum_linden
2016-04-21DRTVWR-418 remove vestiges of TCMALLOC and GooglePerfTools from the viewercallum_linden
2016-04-04merge with 4.0.3-releaseOz Linden
2016-02-07merge changes for OPEN-292Oz Linden
2015-11-29Merged lindenlab/viewer-tools-update into defaultCinder Biscuits
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-09-15MAINT-5507: Remove llcurl, move constant values and untilities to llcorehttp libRider Linden
2015-09-14MAINT-5507: Removal of sdrpc client/serverRider Linden
MAINT-5507: removal of LLCurl::Easy, LLCurl::Multi LLCurl::Responder
2015-09-14MAINT-5507: Test checkin with RPC code and URL request disabled. Make sure ↵Rider Linden
it does not break non windows builds.
2015-08-17Adding boost libs to lltestRider Linden
2015-08-17Get unit tests (Integration and project) compiling and linking again.Rider Linden
2015-05-23MAINT-5232: Make gMessageSystem an LLPounceable<LLMessageSystem*>.Nat Goodspeed
This will permit other subsystems to use gMessageSystem.callWhenReady() to (e.g.) register callbacks as soon as gMessageSystem is fully initialized.
2015-04-10restore the ll[io]fstream because we need them as wrappers on Windows for ↵Oz Linden
wide char paths; on other platforms they are now just typedefs to the std classes
2015-04-07replace llifstream and llofstream with std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07convert llifstream and llofstream to std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-02-08OPEN-292 - Remove lscript from project,Cinder
Remove legacy udp script upload methods, Refactor script runtime perms from three arrays to one struct array so we don't have to juggle array order anymore.
2015-01-23Re-enable skipped test: evidently Windows APR libs CAN transcode.Nat Goodspeed
I don't know at what point the skip() was introduced, but that test now passes even on Windows.
2014-12-16Remove Visual Studio workaround for lack of std::fpclassify().Nat Goodspeed
Visual Studio 2013 evidently does provide std::fpclassify(), so we no longer need the funky local alias.
2014-12-10Replace boost::lambda::_1 with boost::phoenix::placeholders::arg1.Nat Goodspeed
Apparently in Boost 1.57 with Xcode 6, the combination of Boost.Lambda and Boost.Function is broken -- Trac ticket 10864: https://svn.boost.org/trac/boost/ticket/10864 However, Boost.Phoenix provides an acceptable replacement.
2014-12-05Wrap #pragma clang in #if __clang__, else VS produces fatal warnings.Nat Goodspeed
2014-10-24Suppress non-useful NaN test in llsd_new_tut.cppNat Goodspeed
2014-10-23Bring in new TUT library build. Clean up ensure_equals() overloads.Nat Goodspeed
The new TUT library build eliminates the ambiguity about ensure_equals(const char*, ...) versus ensure_equals(const std::string&, ...). Now it's all based on const std::string&. Remove pointless const char* overloads and ambiguous forwarding templates. With clang in Xcode 6, any new datatypes we intend to use with ensure_equals() must have operator<<(std::ostream&, datatype) declared BEFORE lltut.h #includes tut.hpp. Reorder code in certain test source files to guarantee that visibility.
2014-10-23Fix Xcode 6 compile errors relating to tut::ensure_equals() overloads.Nat Goodspeed
lltut.h declares a number of ensure_equals() overloads for various data types, notably the types supported by LLSD. We expect these to be called by tut code. But the tut code in question is in a template in tut.hpp -- which was #included BEFORE the overloads were declared. Previous C++ compilers have evidently made multiple passes, collecting the relevant overloads before attempting to compile the template bodies. clang does not, complaining that the overloads must be declared before the tut.hpp template code that references them. Reordering parts of lltut.h seems to address that problem. For similar reasons, test programs that use StringVec.h and its operator<<() must #include StringVec.h before lltut.h. Add ensure_equals(const std::string&, const LLSD::Binary&, const LLSD::Binary&) overload. The sloppy mix of (const char*, ...) and (const std::string&, ...) overloads bothers me, since for many of those ... types we seem to have to duplicate them.
2014-10-22Update to build on Xcode 6.0 (fix unit tests): comment out failing unit test ↵callum_linden
in llsd_new_tut.cpp to let the build proceed - will fix later
2014-10-22added quoting to clarify failure messagesOz Linden
2014-10-20Update to build on Xcode 6.0: remove #pragmas from code to deal with tut ↵callum_linden
warnigs/errors (moved to package) AND bracket clang #pragmas in #if LL_DARWIN
2014-10-17Update to build on Xcode 6.0: turn off warnings about unused functions from ↵callum_linden
clang for tut package
2014-10-17Update to build on Xcode 6.0: turn off warnings about unused functions from ↵callum_linden
clang for tut package