summaryrefslogtreecommitdiff
path: root/indra/newview/tests
AgeCommit message (Collapse)Author
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2011-02-04Clean up license headers in a handfull of filesMerov Linden
2011-02-02SH-734 - also adding fix into the llcapabilitylistner testleyla_linden
2011-01-25correct build errorVadim ProductEngine
2011-01-25Fixed TestCapabilityProvider build issue.Seth ProductEngine
2010-12-30STORM-797 FIXED Added parcel SLURL rendering with human readable parcel names.Seth ProductEngine
- Added parcel info observer to LLUrlEntryParcel. - Added notifying LLUrlEntryParcel by LLRemoteParcelInfoProcessor when parcel data arrives. - Added notifying LLUrlEntryParcel about user login, changing host and viewer connection state to use this data in remote parcel requests.
2011-01-06STORM-826 (workaround): correct mixed and dos-style line endingsOz Linden
2010-12-29merge kdu unit tests (storm-744)Oz Linden
2010-12-21Merge from trunkAndrew A. de Laix
2010-12-17STORM-744 : Add llkdu unit tests, turn on and fix llworldmap unit tests in ↵Merov Linden
newview
2010-12-11Update unit tests to reflect the new array-of-regions style ofMonty Brandenberg
LLSD serialization for viewer metrics.
2010-12-11ESC-211 ESC-212 Use arrays in payload to grid and compact payloadMonty Brandenberg
First, introduced a compact payload format that allows blocks of metrics to be dropped from the viewer->collector payload compressing 1200 bytes of LLSD into about 300, give-or-take. Then converted to using LLSD arrays in the payload to enumerate the regions encountered. This simplifies much data handling from the viewer all the way into the final formatter of the metrics on the grid.
2010-12-10Decided to refactor a bit. Was using LLSD as an internal dataMonty Brandenberg
representation transferring ownership, doing data aggregation in a very pedantic way. That's just adding unneeded cost and complication. Used the same objects to transport data as are collecting it and everything got simpler, faster, easier to read with fewer gotchas. Bit myself *again* doing the min/max/mean merges but the unittests where there to pick me up again. Added a per-region FPS metric while I was at it. This is much asked for and there was a convenient place to sample the value.
2010-12-10ui improvements to more closely match UX design.Andrew A. de Laix
2010-12-09merge from http://hg.secondlife.com/viewer-developmentMonty Brandenberg
2010-12-08fix windows build.Andrew A. de Laix
2010-12-07show progress bar while downloading update.Andrew A. de Laix
2010-12-07login instance coordinates with updater serviceAndrew A. de Laix
2010-12-01CHOP-238 Fix to bug introduced by ↵Mark Palange (Mani)
http://hg.secondlife.com/viewer-beta/changeset/4072bd5389b2 Reviewed by Brad
2010-11-29ESC-154 ESC-156 Now using region hash rather than region uuid as identifier.Monty Brandenberg
In the viewer, the region's UUID is acquired very late and isn't generally used as the canonical region identifier. The U64 region hash is a better and more consistently used identifier so I'm moving over to using that as the region key. Don't have a proper reserved invalid region hash which is unfortunate, but then, so much is.
2010-11-24ESC-154 ESC-155 Viewer metrics fixes for min/max merged values, floating ↵Monty Brandenberg
timestamps. The min/max response time calculations needed to be sensitive to the response counts to know if their was actual data. Failure to do so introduced a gratuitous min/max test against zero values which tended to corrupt the mins. Unit tests added to test for this condition. Finished conversion of times to floating point seconds. Removed two logging events used to debug the cross-thread messaging. Looks like a code completion point.
2010-11-23ESC-154 ESC-156 Integrating metrics collector into viewer.Monty Brandenberg
After discussions, renamed 'QAModeMetricsSubmetrics' to 'QAModeMetrics' and confirmed that LLCachedControl<> is the way to go. Moved the resulting flag out of LLViewerAssetStats (where it didn't belong) and it lives in both LLAppViewer and LLTextureFetch where it does belong.
2010-11-23ESC-154 ESC-156 Data collection and control for viewer metricsMonty Brandenberg
Detect QAMode (and new QAModeMetricsSubmode) settings which enable logging of metrics report locally and a faster cycle time to reduce test waiting. Do this only in the main thread and propagate the result via collector constructors (will likely move that out and put it in llappviewer/lltexturefetch which is more correct scope). Managed to deadlock myself with a recursive mutex (sheesh).
2010-11-22Minor improvement to CHOP-220 unit test.brad kittenbrink
2010-11-22Added failing unit test which I believe should exercise CHOP-220 crash.brad kittenbrink
2010-11-22ESC-154 ESC-156 Metrics integration into viewer's threadsMonty Brandenberg
Removed declared but undefined interfaces from LLTextureFetch family. Had inserted the cross-thread command processor into some of LLTextureFetchWorker's processing which was unnatural and probably wrong. Moved it to LLTextureFetch which turned out to be far, far more natural. Better documentation on the asLLSD() format. Refined LLSD stats merger logic and enhanced unit tests to verify same.
2010-11-19ESC-155 Multi-threaded umbrella collector for stats aggregationMonty Brandenberg
Code complete with the intelligence to merge counts, mins, maxes and means with reasonable defences. Added QAMode controls to the viewer so that we can QA this more quickly by reducing the timing interval and sending the metrics body to local logging as well as to the caps service.
2010-11-18ESC-154 ESC-155 ESC-156Monty Brandenberg
Asset fetch requests wrapped to allow for measurements. Asset fetch enqueues, dequeues and completion times recorded to asset stats collector. Texture fetch operations (http and udp) recorded to asset stats collector. Stats collector time vallue switched from F32 to U64 which is the more common type in the viewer. Cross-thread mechanism introduced to communicate region changes and generate global statistics messages. Facility to deliver metrics via Capabilities sketched in but needs additional work. Documentation and diagrams added.
2010-11-10ESC-110 ESC-111Monty Brandenberg
Cleanup passes on the two threaded collectors with better comments and more complete unit tests.
2010-11-04Turned inlining on in windows builds (RelWithDebInfo and Release).brad kittenbrink
This reduces the number of symbols in the viewer binary by about 30%. Also, fixed test errors revealed by inlining being enabled.
2010-11-01Added newline at EOF to satisfy linux gccbrad kittenbrink
2010-11-01VWR-23666 Removed setting VersionChannelName. LLVersionInfo::resetChannel() ↵Mark Palange (Mani)
and unit tests. Reviewed by brad.
2010-10-29ESC-111 Texture interfacesMonty Brandenberg
Mainly expand the categories to include protocol and location/temp nature of texture asset.
2010-10-28ESC-109 Write single-thread asset stats collector for wearable.Monty Brandenberg
Code-complete with unit tests and foundation for other collectors. Interestingly, sim and viewer have two different ideas about asset type enumeration (compatible, one's just longer). Both are missing mesh though that's to be expected.
2010-10-22ESC-108 Develop support classes for numerical collectionMonty Brandenberg
Stuff moved over and adapted from simulator code. Basic, simple counters and min/max/mean accumulators.
2010-09-27STORM-1126 WIP Windlight Estate Settings port from 1.23: first pass at ↵Nyx (Neal Orman)
merging in windlight estate settings to viewer-dev codebase. not built, not tested. Probably needs a bunch of fixes to be able to be integrated. (resubmitted by Vadim ProductEngine)
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-03Merge between james/viewer-identity-evolution and dessie/viewer-publicAimee Linden
2010-08-30merging up from viewer-developmentAaron Terrell (Enus)
2010-08-29pull changes for EXT-8668 and EXT-7901Oz Linden
2010-09-22mergeRichard Linden
2010-09-22doh, fix this in the RIGHT place.Tofu Linden
2010-09-22CID-505Tofu Linden
Checker: UNINIT_CTOR Function: LLGridManager::LLGridManager() File: /indra/newview/tests/lllogininstance_test.cpp
2010-09-16mergeRichard Linden
2010-09-09fixed link seam in login unit testRichard Linden
2010-08-26EXT-7901 FIXED: Follow up fix to remove short-term hack.Lynx Linden
As advertized, I have removed the short-term hack that I put in place to make release note URLs work. I have now put in place a more general and correct solution. The key observeration from Roxie is that SLE SLurls should have the same hostname as the grid host. So now, URLs like http://google.com/app are no longer categorized as a SLurl and produce errors when you click on them.
2010-08-25standardizing a couple of stragler test 'suite' names as class nameAaron Terrell (Enus)
2010-08-24standardizing test suite names as class name under testAaron Terrell (Enus)
2010-08-24Backed out changeset c3d41f18ce2bTofu Linden
back-out the back-out for this branch. yay.