From 58b796368082251c639bf13a66148d4941ff46cf Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 3 Feb 2025 12:54:10 +0200 Subject: Redo operator<<(process_env) to print process path Also provide to_stream() that can print any subset of information. The old semantics did not work well for function templates that tried to print process_path or process_env generically. More generally, only printing a subset of data by default is surprising. --- tests/process/driver.cxx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'tests/process/driver.cxx') diff --git a/tests/process/driver.cxx b/tests/process/driver.cxx index 1ee5710..4fef2e0 100644 --- a/tests/process/driver.cxx +++ b/tests/process/driver.cxx @@ -500,31 +500,31 @@ main (int argc, const char* argv[]) auto str = [] (const process_env& env) { ostringstream os; - os << env; + to_stream (os, env); return os.str (); }; - process_path p; + process_path p (path ("program")); - assert (str (process_env (p)) == ""); + assert (str (process_env (p)) == "program"); { dir_path d ("dir"); dir_path ds ("d ir"); - assert (str (process_env (p, d)) == "PWD=dir"); - assert (str (process_env (p, ds)) == "PWD=\"d ir\""); + assert (str (process_env (p, d)) == "PWD=dir program"); + assert (str (process_env (p, ds)) == "PWD=\"d ir\" program"); } { dir_path ed; // Empty. const char* vars[] = {nullptr}; - assert (str (process_env (p, ed, vars)) == ""); + assert (str (process_env (p, ed, vars)) == "program"); } { const char* vars[] = {"A=B", "A=B C", "A B=C", "A", "A B", nullptr}; assert (str (process_env (p, vars)) == - "A=B A=\"B C\" \"A B=C\" A= \"A B=\""); + "A=B A=\"B C\" \"A B=C\" A= \"A B=\" program"); } } } -- cgit v1.1