summaryrefslogtreecommitdiff
path: root/indra/test/namedtempfile.h
AgeCommit message (Collapse)Author
2024-09-10Pass std::string_view by value, not by const reference.Nat Goodspeed
Consensus seems to be that (a) string_view is, in effect, already a reference, (b) it's small enough to make pass-by-value reasonable and (c) the optimizer can reason about values way better than it can about references.
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2023-09-08SL-18837: Make llsdserialize_test debug output conditional.Nat Goodspeed
Move hexdump() and hexmix() stream formatters to new hexdump.h for potential use by other tests. In toPythonUsing() helper function, add a temp file to receive Python script debug output, and direct debug output to that file. On test failure, dump the contents of that file to the log. Give NamedTempFile::peep() an optional target std::ostream; refactor implementation as peep_via() that accepts a callable to process each text line. Add operator<<() to stream the contents of a NamedTempFile object to ostream -- but don't use that with LL_DEBUGS(), as it flattens the file contents into a single log line. Instead add peep_log(), which streams each individual text line to LL_DEBUGS().
2023-09-08SL-18837: NamedTempFile must be binary mode on Windows.Nat Goodspeed
2023-07-07SL-18837: Try to bypass Windows perm problem with Python indirection.Nat Goodspeed
2023-07-07SL-18837: Try putting generated Python scripts in RUNNER_TEMP dir.Nat Goodspeed
The claim is that the Windows Python interpreter is integrated somehow with the OS such that a command line that tries to run Python with a script that "looks suspicious" (i.e. in a system temp directory) fails with "Access denied" without even loading the interpreter. At least that theory would explain the "Access denied" errors we've been getting trying to run Python scripts generated into the system temp directory by our integration tests. Our hope is that generating such scripts into the GitHub RUNNER_TEMP directory will work better. As this test is specific to Windows, don't even bother running Mac builds.
2023-06-06SL-18837: Concat path part with / rather than +=.Nat Goodspeed
Using concatenation appends the intended filename to the parent directory name, instead of putting the filename in the parent directory.
2023-06-06SL-18837: On Windows, NamedTempFile must convert from wstringNat Goodspeed
2023-06-06SL-18837: Make NamedTempFile name template compatible with Python.Nat Goodspeed
The recommended template uses hyphens; change to underscores to be valid Python temp module names.
2023-06-06SL-18837: NamedTempFile back to std::function, use boost::phoenix <<Nat Goodspeed
It seems the problem addressed by aab769e wasn't some synergy between Boost.Phoenix and Boost.Function, but rather the lack of a Phoenix header file introducing operator<<().
2023-06-05SL-18837: NamedTempFile must still disambiguate string literals.Nat Goodspeed
2023-06-05SL-18837: Make NamedTempFile revert to boost::functionNat Goodspeed
from std::function, since some consumers still use (e.g.) boost::phoenix::placeholders::arg1 to generate an inline callable.
2023-06-05SL-18837: Use Boost.Filesystem for NamedTempFile, instead of APR.Nat Goodspeed
2015-11-10remove execute permission from many files that should not have itOz Linden
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.
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2012-03-01Add NamedExtTempFile to invent arbitrary name with specified ext.Nat Goodspeed
This arises, for instance, if you want to be able to create a temporary Python module you can import from test scripts. The Python module file MUST have the .py extension.
2012-01-17Any proper RAII class must either handle copying or be noncopyable.Nat Goodspeed
NamedTempFile makes no attempt to deal with copying, therefore make it noncopyable.
2012-01-17Make NamedTempFile::peep() a public member for debugging unit tests.Nat Goodspeed
2012-01-13Extract APR and temp-fixture-file helper code to indra/test.Nat Goodspeed
Specifically: Introduce ManageAPR class in indra/test/manageapr.h. This is useful for a simple test program without lots of static constructors. Extract NamedTempFile from llsdserialize_test.cpp to indra/test/ namedtempfile.h. Refactor to use APR file operations rather than platform- dependent APIs. Use NamedTempFile for llprocesslauncher_test.cpp.