summaryrefslogtreecommitdiff
path: root/indra/newview/tests
AgeCommit message (Collapse)Author
2023-10-02DRTVWR-589: Add initial integration test for LLLUAmanager.Nat Goodspeed
The first test runs a Lua script that calls post_on(), listen_events() and await_event() to engage in LLEventPump handshakes with the test program. Make llluamanager.cpp testable by putting LL_TEST conditionals around lots of viewer-internals headers and the lua_function definitions that engage them. Since LuaListener::connect() is called by its constructor, make it a static method that explicitly accepts the lua_State* (instead of finding it as mState). Add that parameter to its two existing calls. Add a debug log message when LuaListener is destroyed. This surfaced the need to pass a no-op deleter when listen_events() constructs a LuaListener::ptr_t. When compiled for LL_TEST, make LuaListener::mReplyPump an LLEventLogProxyFor<LLEventStream> instead of a plain LLEventStream. For debugging purposes, add a type string "LLEventLogProxy" for LLEventPumps::make(). A make() call with this type will return an LLEventLogProxyFor<LLEventStream>.
2022-06-08SL-17546 Fix 'release' configuration build testsAndrey Kleshchev
2022-05-04Merge branch master (D550) into DRTVWR-546Andrey Kleshchev
# Conflicts: # indra/newview/llappviewer.h
2022-04-25SL-17223 fix unit tests with new method stub implementationBrad Kittenbrink
2022-03-29SL-16831 Fix unit testAndrey Kleshchev
2022-03-17SL-17019 mfa_hash should get saved per-usernameBrad Kittenbrink
2022-03-07Merge remote-tracking branch 'origin/master' into DRTVWR-550-mfaBrad Kittenbrink
2022-01-14SL-16514 store mfa hash in protected data using LLSecAPIBasicHandlerBrad Kittenbrink
2021-12-13SL-16501 SLMFAHash is now saved client sideBrad Kittenbrink
2021-12-11Merge branch 'master' into SL-15742Bennett Goble
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
2021-10-14Merge branch 'master' into DRTVWR-545-maint-mixAndrey Lihatskiy
2021-08-12Merge branch 'master' into DRTVWR-520-apple-notarizationAndrey Lihatskiy
# Conflicts: # autobuild.xml # build.sh # indra/CMakeLists.txt # indra/newview/CMakeLists.txt # indra/newview/llappviewermacosx.cpp # indra/newview/llappviewerwin32.h # indra/newview/viewer_manifest.py # indra/win_crash_logger/llcrashloggerwindows.cpp
2021-07-20Merge branch 'master' into DRTVWR-521-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/llerror.cpp # indra/llui/llnotifications.h # indra/newview/llappviewer.cpp # indra/newview/llappviewermacosx.cpp
2021-07-12Merge branch 'build-hooks' into DRTVWR-521-maintAndrey Lihatskiy
2021-06-29SL-15500: Merge branch 'utf8' into build-hooksNat Goodspeed
Since we're going to run the git-hooks validation over the whole repository at the start of every viewer build, it's important that we start with a clean pass. Certain text files contained non-ASCII, non-UTF8 characters. We had already been down the path of identifying and replacing those with ASCII. Pull in those changes.
2021-05-27SL-15211 Adjust unit testsAndrey Kleshchev
2021-05-27SL-15211 Update OpenSSL libraryAndrey Kleshchev
2021-04-30Merge branch 'master' into DRTVWR-521-maintAndrey Lihatskiy
2021-04-29Merge master (DRTVWR-515) into DRTVWR-516-maintAndrey Kleshchev
# Conflicts: # autobuild.xml # doc/contributions.txt # indra/llcommon/llcoros.cpp # indra/llmessage/llcoproceduremanager.cpp # indra/newview/llfloaterfixedenvironment.cpp # indra/newview/llfloaterimsessiontab.cpp
2021-04-01SL-14999 - noteBrad Payne (Vir Linden)
2021-03-26SL-14999 - more cpp features testsBrad Payne (Vir Linden)
2021-03-17SL-14999 - more c++ feature testsBrad Payne (Vir Linden)
2021-03-17SL-14999 - test updateBrad Payne (Vir Linden)
2021-03-17SL-14999 - C++ feature testsBrad Payne (Vir Linden)
2021-03-16SL-14999 - cppfeatures test file for examples and compiler conformance ↵Brad Payne (Vir Linden)
verification
2021-02-11SL-11215 Fixed unit testAndrey Kleshchev
2020-12-08SL-2363 Build fixAndrey Kleshchev
2020-12-07SL-2363 Update Unit TestsAndrey Kleshchev
2020-09-05SL-13910 Moved the LLCertException constructor to .cppAndrey Lihatskiy
2020-05-06DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72Nat Goodspeed
2020-03-25SL-11216: Convert LLVersionInfo to an LLSingleton.Nat Goodspeed
This changeset is meant to exemplify how to convert a "namespace" class whose methods are static -- and whose data are module-static -- to an LLSingleton. LLVersionInfo has no initClass() or cleanupClass() methods, but the general idea is the same. * Derive the class from LLSingleton<T>: class LLSomeSingleton: public LLSingleton<LLSomeSingleton> { ... }; * Add LLSINGLETON(LLSomeSingleton); in the private section of the class. This usage implies a separate LLSomeSingleton::LLSomeSingleton() definition, as described in indra/llcommon/llsingleton.h. * Move module-scope data in the .cpp file to non-static class members. Change any sVariableName to mVariableName to avoid being outright misleading. * Make static class methods non-static. Remove '//static' comments from method definitions as needed. * For LLVersionInfo specifically, the 'const std::string&' return type was replaced with 'std::string'. Returning a reference to a static or a member, const or otherwise, is an anti-pattern: the interface constrains the implementation, prohibiting possibly later returning a temporary (an expression). * For LLVersionInfo specifically, 'const S32' return type was replaced with simple 'S32'. 'const' is just noise in that usage. * Simple member initialization (e.g. the original initializer expressions for static variables) can be done with member{ value } initializers (no examples here though). * Delete initClass() method. * LLSingleton's forté is of course lazy initialization. It might work to simply delete any calls to initClass(). But if there are side effects that must happen at that moment, replace LLSomeSingleton::initClass() with (void)LLSomeSingleton::instance(); * Most initClass() initialization can be done in the constructor, as would normally be the case. * Initialization that might cause a circular LLSingleton reference should be moved to initSingleton(). Override 'void initSingleton();' should be private. * For LLVersionInfo specifically, certain initialization that used to be lazily performed was made unconditional, due to its low cost. * For LLVersionInfo specifically, certain initialization involved calling methods that have become non-static. This was moved to initSingleton() because, in a constructor body, 'this' does not yet point to the enclosing class. * Delete cleanupClass() method. * There is already a generic LLSingletonBase::deleteAll() call in LLAppViewer::cleanup(). It might work to let this new LLSingleton be cleaned up with all the rest. But if there are side effects that must happen at that moment, replace LLSomeSingleton::cleanupClass() with LLSomeSingleton::deleteSingleton(). That said, much of the benefit of converting to LLSingleton is deleteAll()'s guarantee that cross-LLSingleton dependencies will be properly honored: we're trying to migrate the code base away from the present fragile manual cleanup sequence. * Most cleanupClass() cleanup can be done in the destructor, as would normally be the case. * Cleanup that might throw an exception should be moved to cleanupSingleton(). Override 'void cleanupSingleton();' should be private. * Within LLSomeSingleton methods, remove any existing LLSomeSingleton::methodName() qualification: simple methodName() is better. * In the rest of the code base, convert most LLSomeSingleton::methodName() references to LLSomeSingleton::instance().methodName(). (Prefer instance() to getInstance() because a reference does not admit the possibility of NULL.) * Of course, LLSomeSingleton::ENUM_VALUE can remain unchanged. In general, for many successive references to an LLSingleton instance, it can be useful to capture the instance() as in: auto& versionInfo{LLVersionInfo::instance()}; // ... versionInfo.getVersion() ... We did not do that here only to simplify the code review. The STRINGIZE(expression) macro encapsulates: std::ostringstream out; out << expression; return out.str(); We used that in a couple places. For LLVersionInfo specifically, lllogininstance_test.cpp used to dummy out a couple specific static methods. It's harder to dummy out LLSingleton::instance() references, so we add the real class to that test.
2020-01-28DRTVWR-440, merge in latest from 6.3.7 releaseDave Houlton
2020-01-17DRTVWR-476: Never mind UTF8, replace non-ASCII chars with ASCII.Nat Goodspeed
2020-01-16DRTVWR-476: Try again to fix some of the (R) characters as UTF8.Nat Goodspeed
2020-01-16DRTVWR-476: Re-encode certain files with non-ASCII chars as UTF8.Nat Goodspeed
2020-01-08SL-12486 Fix unit test build issuesandreykproductengine
2019-11-13Merge in from viewer-release 6.3.5Dave Houlton
2019-11-12Downstream merge from 494-maint-wassailAndreyL ProductEngine
2019-08-12DRTVWR-493: Make catch_llerrs() a member of WrapLLErrs.Nat Goodspeed
2019-08-10DRTVWR-493: Introduce test catch_what(), catch_llerrs() functions.Nat Goodspeed
Use them in place of awkward try/catch test boilerplate.
2019-08-09SL-9699 Login selectionandreykproductengine
2019-02-28MergeRider Linden
2018-09-26Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-08-29MAINT-9044 Update Aditi helper_uri to ↵AndreyL ProductEngine
https://secondlife.aditi.lindenlab.com/helpers/
2018-08-24is dirty code in day cycle editor. When environment panel closes disconnect ↵Rider Linden
commit hook for crash.
2018-08-24Some work on clearDirtyFlag and fix a unit test.Rider Linden
2018-08-02Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2018-06-21DRTVWR-447: Merge up to latest viewer-releaseNat Goodspeed
2018-05-24Merged in oz_linden/maint-8675AndreyL ProductEngine