124 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			124 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
IN: io.unix.launcher.tests
 | 
						|
USING: io.files tools.test io.launcher arrays io namespaces
 | 
						|
continuations math io.encodings.binary io.encodings.ascii
 | 
						|
accessors kernel sequences io.encodings.utf8 destructors
 | 
						|
io.streams.duplex ;
 | 
						|
 | 
						|
[ ] [
 | 
						|
    [ "launcher-test-1" temp-file delete-file ] ignore-errors
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    "touch"
 | 
						|
    "launcher-test-1" temp-file
 | 
						|
    2array
 | 
						|
    try-process
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ t ] [ "launcher-test-1" temp-file exists? ] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    [ "launcher-test-1" temp-file delete-file ] ignore-errors
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    <process>
 | 
						|
        "echo Hello" >>command
 | 
						|
        "launcher-test-1" temp-file >>stdout
 | 
						|
    try-process
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ "Hello\n" ] [
 | 
						|
    "cat"
 | 
						|
    "launcher-test-1" temp-file
 | 
						|
    2array
 | 
						|
    ascii <process-reader> contents
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    [ "launcher-test-1" temp-file delete-file ] ignore-errors
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    <process>
 | 
						|
        "cat" >>command
 | 
						|
        +closed+ >>stdin
 | 
						|
        "launcher-test-1" temp-file >>stdout
 | 
						|
    try-process
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ f ] [
 | 
						|
    "cat"
 | 
						|
    "launcher-test-1" temp-file
 | 
						|
    2array
 | 
						|
    ascii <process-reader> contents
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ ] [
 | 
						|
    2 [
 | 
						|
        "launcher-test-1" temp-file binary <file-appender> [
 | 
						|
            <process>
 | 
						|
                swap >>stdout
 | 
						|
                "echo Hello" >>command
 | 
						|
            try-process
 | 
						|
        ] with-disposal
 | 
						|
    ] times
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ "Hello\nHello\n" ] [
 | 
						|
    "cat"
 | 
						|
    "launcher-test-1" temp-file
 | 
						|
    2array
 | 
						|
    ascii <process-reader> contents
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ t ] [
 | 
						|
    <process>
 | 
						|
        "env" >>command
 | 
						|
        { { "A" "B" } } >>environment
 | 
						|
    ascii <process-reader> lines
 | 
						|
    "A=B" swap member?
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ { "A=B" } ] [
 | 
						|
    <process>
 | 
						|
        "env" >>command
 | 
						|
        { { "A" "B" } } >>environment
 | 
						|
        +replace-environment+ >>environment-mode
 | 
						|
    ascii <process-reader> lines
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ "hi\n" ] [
 | 
						|
    temp-directory [
 | 
						|
        [ "aloha" delete-file ] ignore-errors
 | 
						|
        <process>
 | 
						|
            { "echo" "hi" } >>command
 | 
						|
            "aloha" >>stdout
 | 
						|
        try-process
 | 
						|
    ] with-directory
 | 
						|
    temp-directory "aloha" append-path
 | 
						|
    utf8 file-contents
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ "append-test" temp-file delete-file ] ignore-errors
 | 
						|
 | 
						|
[ "hi\nhi\n" ] [
 | 
						|
    2 [
 | 
						|
        <process>
 | 
						|
            "echo hi" >>command
 | 
						|
            "append-test" temp-file <appender> >>stdout
 | 
						|
        try-process
 | 
						|
    ] times
 | 
						|
    "append-test" temp-file utf8 file-contents
 | 
						|
] unit-test
 | 
						|
 | 
						|
[ t ] [ "ls" utf8 <process-stream> contents >boolean ] unit-test
 | 
						|
 | 
						|
[ "Hello world.\n" ] [
 | 
						|
    "cat" utf8 <process-stream> [
 | 
						|
        "Hello world.\n" write
 | 
						|
        output-stream get dispose
 | 
						|
        input-stream get contents
 | 
						|
    ] with-stream
 | 
						|
] unit-test
 |