Commit Graph

73 Commits (60aade5ea2ef5f6eda8ccdae2562c8a1dfbafbd2)

Author SHA1 Message Date
Nat Goodspeed b6dc755786 Automated merge with ssh://bitbucket.org/lindenlab/viewer-skip-llcorehttp-test 2016-12-08 14:27:40 -05:00
Nat Goodspeed 5bb456d80c DRTVWR-418: Apparently (some) Windows hosts still need freeport().
This is the function in indra/llmessage/tests/testrunner.py that iterates
through ports in a specified range, looking for an available one. Other
platforms understand a specification of port 0 to mean: "You pick one. I'll
just use whichever one you picked."
2016-12-07 14:10:32 -05:00
Nat Goodspeed 0532e298a0 DRTVWR-418: Reinstate test that we THOUGHT was killing test run.
But since the real problem is quite different, try with that suspected test
restored.
2016-12-07 10:05:24 -05:00
Nat Goodspeed e1482838fe DRTVWR-418: Fix a couple variable references in debugging output. 2016-12-07 09:44:55 -05:00
Nat Goodspeed a4ba22fecc DRTVWR-418: Revamp testrunner to shutdown server Thread at end.
Instead of having testrunner.run()'s caller pass a Thread object on which to
run the caller's server instance's serve_forever() method, just pass the
server instance. testrunner.run() now constructs the Thread. This API change
allows run() to also call shutdown() on the server instance when done, and
then join() the Thread.

The hope is that this will avoid the Python runtime forcing the process
termination code to 1 due to forcibly killing the daemon thread still running
serve_forever().

While at it, eliminate calls to testrunner.freeport() -- just make the runtime
pick a suitable port instead.
2016-12-07 09:30:49 -05:00
Nat Goodspeed e1b0317c04 DRTVWR-418: Remove duplicate testrunner.py 2016-12-06 19:44:57 -05:00
Nat Goodspeed 43c9a7d706 Fix minor error in forwarding shutdown_request() call. 2016-12-06 16:19:32 -05:00
Nat Goodspeed e47b178fb9 Try even harder to ignore errors in llcorehttp's dummy server. 2016-12-06 16:09:26 -05:00
Nat Goodspeed 4c89e6dea0 DRTVWR-418: Skip the whole of the failing llcorehttp test function. 2016-12-06 15:38:31 -05:00
Nat Goodspeed 8948c4f001 DRTVWR-418: Skip the llcorehttp test that breaks test machinery.
Loath though I am to skip testing, this consistent failure is not a failure in
the software being tested (llcorehttp) but rather in the dummy server with
which we're testing it.
2016-12-06 14:22:42 -05:00
AndreyL ProductEngine 7fceb3a63f Merged in lindenlab/viewer-cleanup 2016-11-14 22:04:37 +02:00
Nat Goodspeed f4ecfd9cb9 MAINT-5232: Disable unrealistic failing checks on GetMemTotal(). 2016-09-27 10:41:24 -04:00
Nat Goodspeed acbee7ffab MAINT-5232: Give up on running mem test twice: doesn't work 2016-09-27 10:36:14 -04:00
Nat Goodspeed 1a34afb1cc MAINT-5232: Try workaround for dubious llcorehttp mem usage test. 2016-09-23 06:16:46 -07:00
Nat Goodspeed c92eb7e591 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-30 11:36:06 -04:00
Glenn Glazer 5ab6b73d57 MAINT-6585: redirect elementtree to llbase version 2016-07-21 14:03:19 -07:00
Glenn Glazer 3ea324c1c4 MAINT=6585: migrate from local python libraries to canonical llbase 2016-07-20 11:47:08 -07:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Rider Linden 8d334ca1bf MAINT-5271: Converted internal pointers to internal operation to managed shared pointers. Removed direct cast and dereference of handles. 2015-10-16 11:40:48 -07:00
Rider Linden 6ff0bff8f0 Another fix for unit tests. Missed on Windows. 2015-10-15 11:42:43 -07:00
Rider Linden b30e408a42 MAINT-5732: Update unit tests 2015-10-15 11:03:13 -07:00
Rider Linden 7ff38e34ea Update the unit tests to use the new pointer type. 2015-07-08 12:44:57 -07:00
Nat Goodspeed 107b9bcb70 MAINT-5232: Introduce SUBSYSTEM_CLEANUP() macro
and use it for existing LLSomeClass::cleanupClass() calls.
This logs the fact of making the call, as well as making it.
2015-05-20 10:56:09 -04:00
Rider Linden 0b02b36b65 Remove test for size of HttpStatus 2015-03-27 17:38:00 -07:00
Rider Linden d9e8868096 Fix the tests to not directly access HttpsStatus' internals. 2015-03-23 15:41:40 -07:00
Monty Brandenberg 6d405e2d01 Convert one more unit test over to improved waiting scheme to avoid build failures. 2013-10-04 18:24:59 -04:00
Monty Brandenberg 6f5790da38 Merge. Pull in viewer-release after 3.6.7 release. 2013-10-04 15:36:52 -04:00
Monty Brandenberg 622eae6555 SH-4490 More 'humane' error code presentation from llcorehttp callers
Added toTerseString() conversion on HttpStatus to generate a string
that's more descriptive than the hex value of the HttpStatus value
but still forms a short, searchable token (e.g. "Http_503" or
"Core_7").  Using this throughout the viewer now, no live cases
of toHex(), I believe.
2013-09-11 19:21:31 -04:00
Monty Brandenberg eff651cffc SH-4312 Configuration data between viewer and llcorehttp is clumsy.
Much improved.  Unified the global and class options into a single
option list.  Implemented static and dynamic setting paths as much
as possible.  Dynamic path does require packet/RPC but otherwise
there's near unification.  Dynamic modes can't get values back yet
due to the response/notifier scheme but this doesn't bother me.
Flatten global and class options into simpler struct-like entities.
Setter/getter available on these when needed (external APIs) but code
can otherwise fiddle directly when it knows what to do.  Much duplicated
options/state removed from HttpPolicy.  Comments cleaned up.  Threads
better described and consistently mentioned in API docs.  Integration
test extended for 503 responses with Reply-After headers.
2013-07-12 15:00:24 -04:00
Monty Brandenberg 119e9b47f5 SH-4190 Reactivate unit tests neutered under MAINT-3202
HttpStatus unit tests have never caused a unit test failure but
they do have the word 'error' in their text descriptions which
gets picked up by the log processor in TC builds.  So, reactivate
the tests and reform the descriptions.
2013-05-14 16:56:27 -04:00
Monty Brandenberg 8a83408185 MAINT-2302 Tests frequently fail on Windows builds.
I'm calling this the more correct fix.  The httprequest tests
actually talk to an HTTP server running in the Python test
scaffold script.  Under severe CPU competition, it may not
get the cycles needed to start up and make progress.  So this
modifies the test to spin a little faster and dwell waiting
on the server for a longer period.  Hope this will be
adequate to make the tests reliable.
2013-05-14 11:52:12 -04:00
Monty Brandenberg 73f474d886 Merge. Refresh from /lindenlab/viewer-cat prior to pushing. 2013-05-13 18:34:54 -04:00
Monty Brandenberg 81ffd3fcca Whinge reduction effort on the unit tests. Python 2.7 SocketServer
library has new exception-throwing behavior when a client disconnects
unannounced.  Generally ignore exceptions as a result as we don't
care about the server side.  On HTTP trace-mode tests, spin a little
faster and longer to give libcurl time to emit all the junk it wants
to send us.  Should reduce 'reasonable time' failures on tests <12>
and <13>.
2013-05-13 18:32:03 -04:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00
Monty Brandenberg f5e8457e4e BUG-2295/MAINT-2624 unexpected crash around Content-Range: header processing
Not certain what the source of the short data is with one resident but I'm
going to make these problems retryable as they are transport-related.  Lift
the retry detection into a method that should be reusable by others interested
in determining what is retryable.  Trace output handling on the libcurl debug
callback was attrocious.  Some unsafe length handling on my part was protected
by a second layer of defense.  Made that correct and more useful by logging
actual data sizes during trace.
2013-05-06 12:12:05 -04:00
Monty Brandenberg f9850aa5d2 BUG-2295/MAINT-2624 [FIXED] Crash in HttpOpRequest::stageFromActive w/ Content-Range
Don't rely on a response body being present should a
Content-Range header be parsed.  Unit tests captured
the original crash and confirm the fix.
2013-04-29 17:09:13 -04:00
Oz Linden 3bb708d706 merge up to latest viewer-development for merge to 3.5.2 2013-04-19 14:42:56 -04:00
Monty Brandenberg 4eef1c8a2e SH-4106 Significantly upgrade the HttpHeaders interface for SSB.
Header container moves from a vector of raw lines to a vector
of string pairs representing name/value pairs in headers.  For
incoming headers, we normalize the name to lowercase and trim
it.  Values are only left-trimmed.  Outgoing headers are left
as-is.  Simple find() method for the common case, forward and
reverse iterators for those few who need to do it themselves.
The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated
as a header to be returned to caller.  Unit tests, as usual,
were a bear but they absolutely ensured outgoing HTTP header
conformance after the change.  Grunt work paid off.

LLTextureFetch was also given a second options structure
for texture fetches.  Same as the original but with header return
to caller requested.  Baked textures should use this, the other
20,000 texture fetch requests should continue to use the original.
2013-04-15 16:55:35 +00:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Oz Linden e8d38f7885 skip some http core tests on Windows because they fail too frequently 2013-01-31 08:42:10 -05:00
Monty Brandenberg 81b9e29a1f DRTVWR-209 Merge of viewer-development with SH-3316 drano-http code.
Cmake files not merged correctly and had to be done by hand.  New memory
allocation made some memory usage tests in the llcorehttp integration
tests no longer valid.  Would like to work on LLLog sometime and get
it to be consistent.  Special flags needed for windows build of example
program.
2012-09-07 18:55:04 -04:00
Monty Brandenberg 8d3e5f3959 SH-3241 Validate header correctness, SH-3243 more unit tests
Define expectations for headers for GET, POST, PUT requests.
Document those in the interface, test those with integration tests.
Verify that header overrides work as expected.
2012-07-16 17:35:44 -04:00
Monty Brandenberg d238341afa SH-3189 Remove/improve naive data structures
When releasing HTTP waiters, avoid unnecessary sort activity.
For Content-Type in responses, let libcurl do the work and removed
my parsing of headers.  Drop Content-Encoding as libcurl will deal
with that.  If anyone is interested, they can parse.
2012-07-16 11:53:04 -04:00
Monty Brandenberg 5eb5dc6b27 SH-3241 validate that request headers are correct
First round of integration tests.  Added a request header 'reflector'
to the web server to sent the client's headers back with a 'X-Reflect-'
prefix.  Use boost::regex to check various headers.  Run a test on
a simple GET and a byte-ranged GET a la texture fetch.
2012-07-13 18:24:49 -04:00
Monty Brandenberg d45b2e7cae SH-3183 Use valgrind on the library.
Using http_texture_load as the test subject, library looks clean.  Did
some better shutdown in the program itself and it looks better.  Libcurl
itself is making a lot of noise.  Adapted testrunner to run valgrind as
well but the memory allocation tester in the tools themselves grossly
interferes with Valgrind operations.
2012-07-12 17:46:53 +00:00
Monty Brandenberg 7010459f04 SH-3240 Capture Content-Type and Content-Encoding headers.
HttpResponse object now has two strings for these content headers.
Either or both may be empty.  Tidied up the cross-platform string
code and got more defensive about the length of a header line.
Integration test for the new response object.
2012-07-11 15:53:57 -04:00
Monty Brandenberg bc72acbfd2 SH-3244 Syscall avoidance in HttpRequest::update() method
Well, achieved that by doing work in bulk when needed.  But
turned into some additional things.  Change timebase from
mS to uS as, well, things are headed that way.  Implement
an HttpReplyQueue::fetchAll method (advertised one, hadn't
implemented it).
2012-07-10 18:50:21 -04:00
Monty Brandenberg 398d78a773 Rework the 'sleep' logic in the test HTTP server so that the
30-second hang doesn't break subsequent tests.  Did this by
introducing threads into the HTTP server as I can't find the magic
to detect that my client has gone away.
2012-07-09 13:28:50 -04:00
Monty Brandenberg 8e5197a71b Merge 3.3.3 release with Drano HTTP library at 3.3.0
Big delta was converting the new texture debugger support code
to the new library.  Viewer manifest should probably get an eyeball
before release.
2012-07-02 18:06:22 -04:00