phoenix-firestorm/indra/test
Nat Goodspeed 28a54c2f7b DRTVWR-476: Infrastructure to help manage long-lived coroutines.
Introduce LLCoros::Stop exception, with subclasses Stopping, Stopped and
Shutdown. Add LLCoros::checkStop(), intended to be called periodically by any
coroutine with nontrivial lifespan. It checks the LLApp status and, unless
isRunning(), throws one of these new exceptions.

Make LLCoros::toplevel() catch Stop specially and log forcible coroutine
termination.

Now that LLApp status matters even in a test program, introduce a trivial
LLTestApp subclass whose sole function is to make isRunning() true.
(LLApp::setStatus() is protected: only a subclass can call it.) Add LLTestApp
instances to lleventcoro_test.cpp and lllogin_test.cpp.

Make LLCoros::toplevel() accept parameters by value rather than by const
reference so we can continue using them even after context switches.

Make private LLCoros::get_CoroData() static. Given that we've observed some
coroutines living past LLCoros destruction, making the caller call
LLCoros::instance() is more dangerous than encapsulating it within a static
method -- since the encapsulated call can check LLCoros::wasDeleted() first
and do something reasonable instead. This also eliminates the need for both a
const and non-const overload.

Defend LLCoros::delete_CoroData() (cleanup function for fiber_specific_ptr for
CoroData, implicitly called after coroutine termination) against calls after
~LLCoros().

Add a status string to coroutine-local data, with LLCoro::setStatus(),
getStatus() and RAII class TempStatus.

Add an optional 'when' string argument to LLCoros::printActiveCoroutines().
Make ~LLCoros() print the coroutines still active at destruction.
2020-03-25 19:02:24 -04:00
..
CMakeLists.txt DRTVWR-476: Add Sync class to help with stepwise coroutine tests. 2020-03-25 18:44:04 -04:00
blowfish.1.bin
blowfish.2.bin
blowfish.digits.txt
blowfish.pl
catch_and_store_what_in.h DRTVWR-493: Introduce test catch_what(), catch_llerrs() functions. 2019-08-10 20:33:59 -04:00
debug.h SL-793: Add LL_PRETTY_FUNCTION macro wrapping __PRETTY_FUNCTION__ 2020-03-25 18:39:20 -04:00
io.cpp Restore the ability for sockets to specify the interface to listen on 2018-08-30 16:25:45 -04:00
llapp_tut.cpp
llassetuploadqueue_tut.cpp
llblowfish_tut.cpp
llbuffer_tut.cpp
lldatapacker_tut.cpp
lldoubledispatch_tut.cpp
llevents_tut.cpp DRTVWR-476: Kill LLEventQueue, per-frame LLEventPump::flush() calls. 2020-03-25 18:58:16 -04:00
llhttpdate_tut.cpp
llhttpnode_tut.cpp
lliohttpserver_tut.cpp
llmessageconfig_tut.cpp
llmessagetemplateparser_tut.cpp
llpermissions_tut.cpp
llpipeutil.cpp
llpipeutil.h
llsaleinfo_tut.cpp
llsd_new_tut.cpp
llsdmessagebuilder_tut.cpp
llsdmessagereader_tut.cpp
llsdtraits.h
llsdutil_tut.cpp
llservicebuilder_tut.cpp
llstreamtools_tut.cpp
lltemplatemessagebuilder_tut.cpp
lltestapp.h DRTVWR-476: Infrastructure to help manage long-lived coroutines. 2020-03-25 19:02:24 -04:00
lltimestampcache_tut.cpp
lltranscode_tut.cpp
lltut.cpp
lltut.h
lluserrelations_tut.cpp
llxorcipher_tut.cpp
message_tut.cpp
mock_http_client.cpp
mock_http_client.h
namedtempfile.h
prim_linkability_tut.cpp
sync.h DRTVWR-476: Add Sync class to help with stepwise coroutine tests. 2020-03-25 18:44:04 -04:00
test.cpp DRTVWR-476: Make test program --debug switch work like LOGTEST=DEBUG. 2020-03-25 18:47:13 -04:00
test.h
test_llmanifest.py