Build report for windows/x86.64

Build machine:winmini
Disk usage:236.25Gi used, 1616.36Gi avail, 1852.61Gi total, 87.25% free
Build directory:~/builds64/2026-09-28-20-10
GIT ID:8869b0e97647c92edbdf65ada8ea55bee9fc768e

Timings

boot-time00:06:13
load-time00:16:20
test-time00:38:28
help-lint-time00:00:24
benchmark-time00:15:53
html-help-time00:31:13

Unit test failures

Details:
==== resource:basis/db/postgresql/errors/errors-tests.factor

resource:basis/db/postgresql/errors/errors-tests.factor

connection to server at "192.168.4.2", port 5432 failed: Connection timed out (0x0000274C/10060)
Is the server running on that host and accepting TCP/IP connections?
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(O) test-postgresql
(O) M\ postgresql-db db-open
(O) connect-postgres
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

==== resource:basis/db/postgresql/postgresql-tests.factor

resource:basis/db/postgresql/postgresql-tests.factor

connection to server at "192.168.4.2", port 5432 failed: Connection timed out (0x0000274C/10060)
Is the server running on that host and accepting TCP/IP connections?
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(O) test-postgresql
(O) M\ postgresql-db db-open
(O) connect-postgres
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

==== resource:basis/db/tuples/tuples-tests.factor

resource:basis/db/tuples/tuples-tests.factor

connection to server at "192.168.4.2", port 5432 failed: Connection timed out (0x0000274C/10060)
Is the server running on that host and accepting TCP/IP connections?
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        paste "PASTE" {
            ~array~
            ~array~
            ~array~
            ~array~
            ~array~
            ~array~
            ~array~
            ~array~
        } define-persistent [ test-foreign-key ] test-sqlite
        [ test-foreign-key-not-null ] test-sqlite
        [ test-cascade ] test-sqlite [ test-restrict ] test-sqlite
        [ test-foreign-key ] test-postgresql =>
        [ test-foreign-key-not-null ] test-postgresql
        [ test-cascade ] test-postgresql
        [ test-restrict ] test-postgresql
        [ db-assigned-person-schema test-tuples ] test-sqlite
        [ user-assigned-person-schema test-tuples ] test-sqlite
        [ user-assigned-person-schema test-repeated-insert ]
        test-sqlite [ test-bignum ] test-sqlite
        [ test-serialize ] test-sqlite
        [ test-intervals ] test-sqlite
        [ test-random-id ] test-sqlite
        [ db-assigned-person-schema test-tuples ] test-postgresql
        [ user-assigned-person-schema test-tuples ] test-postgresql
        [ user-assigned-person-schema test-repeated-insert ]
        test-postgresql [ test-bignum ] test-postgresql
        [ test-serialize ] test-postgresql
        [ test-intervals ] test-postgresql
        [ test-random-id ] test-postgresql [
            ~quotation~ ~quotation~ \ (must-fail-with) 517
            experiment
        ] test-sqlite [
            ~quotation~ ~quotation~ \ (must-fail-with) 522
            experiment
        ] test-postgresql suparclass f
        { ~array~ ~array~ } define-persistent subbclass "SUBCLASS"
        { ~array~ } define-persistent fubbclass "FUBCLASS"
        { } define-persistent [ test-db-inheritance ] test-sqlite
        [ test-db-inheritance ] test-postgresql
        string-encoding-test "STRING_ENCODING_TEST"
        { ~array~ ~array~ } define-persistent
        [ test-string-encoding ] test-sqlite
        [ test-string-encoding ] test-postgresql
        compound-foo "COMPOUND_FOO"
        { ~array~ ~array~ ~array~ } define-persistent
        [ test-compound-primary-key ] test-sqlite
        [ test-compound-primary-key ] test-postgresql timez "TIMEZ"
        { ~array~ ~array~ } define-persistent
        [ test-time-types ] test-sqlite
        [ test-time-types ] test-postgresql example "EXAMPLE"
        { ~array~ ~array~ } define-persistent
        [ test-blob-select ] test-sqlite
        [ test-blob-select ] test-postgresql select-me "select_me"
        { ~array~ ~array~ } define-persistent
        [ test-mapping ] test-sqlite
        [ test-mapping ] test-postgresql
    ]
(O) test-postgresql
(O) M\ postgresql-db db-open
(O) connect-postgres
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

==== resource:extra/libclang/ffi/ffi-tests.factor

resource:extra/libclang/ffi/ffi-tests.factor

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_getClangVersion
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        libclang-major-version => 21 >=
        [ ~array~ ~quotation~ \ (unit-test) 18 experiment ] when
        { t t t t } [ ~quotation~ with-test-directory ]
        \ (unit-test) 38 experiment
        { -1 -1 -1 4294967297 4294967297 }
        [ ~quotation~ with-test-cursors ] \ (unit-test) 68
        experiment
        { 70 } [ ~quotation~ with-test-cursors ] \ (unit-test) 73
        experiment
        { t } [ ~quotation~ with-test-cursors ] \ (unit-test) 80
        experiment
        { 0 } [ ~quotation~ with-test-cursors ] \ (unit-test) 84
        experiment
        { t 7 } [
            <CXIndexOptions> 1 >>ExcludeDeclarationsFromPCH
            1 >>DisplayDiagnostics 1 >>StorePreamblesInMemory
            ~quotation~ ~quotation~ bi
        ] \ (unit-test) 93 experiment
        "clang_createIndexWithOptions" "clang" dlsym?
        [ ~array~ ~quotation~ \ (unit-test) 100 experiment ] when
        { CXError_Success t } [ ~quotation~ with-clang-index ]
        \ (unit-test) 111 experiment
        { t } [
            "vocab:libclang/ffi/test.hpp" normalize-path ~quotation~
            with-clang-default-translation-unit
        ] \ (unit-test) 118 experiment
        { t } [
            "vocab:libclang/ffi/test.hpp" normalize-path ~quotation~
            with-clang-default-translation-unit
        ] \ (unit-test) 126 experiment
        { 4 -2 1 } [ ~quotation~ with-test-cursors ] \ (unit-test)
        134 experiment
        { ~array~ } [
            ~vector~ clone visited-fields set-global
            ~quotation~ with-test-cursors
        ] \ (unit-test) 143 experiment
    ]
(O) libclang-major-version
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

==== resource:extra/libclang/libclang-tests.factor

resource:extra/libclang/libclang-tests.factor: 25

Unit Test: { { t } [ clang_getClangVersion clang-get-cstring empty? not ] }

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_getClangVersion
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment =>
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [ clang_getClangVersion => clang-get-cstring empty? not ]
(O) clang_getClangVersion
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 30

Unit Test: {
    { t }
    [
        {
            "ImportColor"
            "ImportPoint"
            "import_sum"
            "import_inline"
        } test-header parse-include c-defs-by-name>> keys
        subset?
    ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment =>
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        { "ImportColor" "ImportPoint" "import_sum" "import_inline" }
        test-header parse-include => c-defs-by-name>> keys subset?
    ]
(O) parse-include
(O) parse-c-exports
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 35

Unit Test: {
    { t }
    [
        test-header parse-include
        [ write-c-defs ] with-string-writer "{ IMPORT_GREEN 8 }"
        swap subseq?
    ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment =>
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        test-header parse-include =>
        [ write-c-defs ] with-string-writer "{ IMPORT_GREEN 8 }"
        swap subseq?
    ]
(O) parse-include
(O) parse-c-exports
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 44

Unit Test: {
    { t }
    [
        test-header [
            2nip [ nip clang_getTokenKind ] with-cursor-tokens
            [ CXToken_Comment = not ] filter
            dup first CXToken_Keyword = swap
            [ enum>number integer? ] all? and
        ] with-clang-cursor
    ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment =>
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        3 load-locals -2 get-local -1 get-local 0 get-local [
            3 load-locals
            -2 get-local -1 get-local 0 get-local ~quotation~ curry
            curry curry call 3 drop-locals
        ] curry curry curry with-clang-index => 3 drop-locals
    ]
    with-clang-cursor-options
(U) [
        [ 0 0 clang_createIndex ] dip => over
        [ clang_disposeIndex ] curry finally
    ]
    with-clang-index
(O) clang_createIndex
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 59

Unit Test: {
    { t }
    [
        test-header [
            2nip [ nip clang_getTokenKind ] with-cursor-tokens
            [ CXToken_Comment = not ] filter
        ] with-clang-cursor test-header
        [ file-token-kinds ] with-clang-default-translation-unit
        [ CXToken_Comment = not ] filter =
    ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment => [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        test-header
        [ 2nip ~quotation~ with-cursor-tokens ~quotation~ filter ]
        with-clang-cursor => test-header
        [ file-token-kinds ] with-clang-default-translation-unit
        [ CXToken_Comment = not ] filter =
    ]
(U) [
        3 load-locals -2 get-local -1 get-local 0 get-local [
            3 load-locals
            -2 get-local -1 get-local 0 get-local ~quotation~ curry
            curry curry call 3 drop-locals
        ] curry curry curry with-clang-index => 3 drop-locals
    ]
    with-clang-cursor-options
(U) [
        [ 0 0 clang_createIndex ] dip => over
        [ clang_disposeIndex ] curry finally
    ]
    with-clang-index
(O) clang_createIndex
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 63

Must Fail With: {
    [
        "vocab:libclang/does-not-exist.h" normalize-path
        parse-include
    ]
    [ clang-parse-error? ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment => 
        [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (must-fail-with)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(O) parse-include
(O) parse-c-exports
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 66

Must Fail With: {
    [
        test-header
        [ 2drop "parse aborted" throw ]
        with-clang-default-translation-unit
    ]
    [ "parse aborted" = ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment =>
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (must-fail-with)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        [ 0 0 clang_createIndex ] dip => over
        [ clang_disposeIndex ] curry finally
    ]
    with-clang-index
(O) clang_createIndex
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 69

Must Fail With: {
    [
        test-header [
            2nip
            [ 2drop "tokens aborted" throw ] with-cursor-tokens
            drop
        ] with-clang-cursor
    ]
    [ "tokens aborted" = ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment =>
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (must-fail-with)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        3 load-locals -2 get-local -1 get-local 0 get-local [
            3 load-locals
            -2 get-local -1 get-local 0 get-local ~quotation~ curry
            curry curry call 3 drop-locals
        ] curry curry curry with-clang-index => 3 drop-locals
    ]
    with-clang-cursor-options
(U) [
        [ 0 0 clang_createIndex ] dip => over
        [ clang_disposeIndex ] curry finally
    ]
    with-clang-index
(O) clang_createIndex
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/libclang/libclang-tests.factor: 96

Unit Test: {
    { t t }
    [
        test-header parse-include <libclang-state> clang-state
        set-global
        [ write-c-defs ] with-string-writer "{ IMPORT_GREEN 8 }"
        swap subseq? clang-state> out-forms>> assoc-empty?
    ]
}

Cannot resolve C library function
Library: DLL" libclang.dll"
Symbol: clang_createIndex
DlError: The specified module could not be found.
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { t } [
            <libclang-state> clang-state set-global
            ~array~ ~quotation~ all?
        ] \ (unit-test) 20 experiment
        { t } [ clang_getClangVersion clang-get-cstring empty? not ]
        \ (unit-test) 25 experiment
        { t } [
            ~array~ test-header parse-include c-defs-by-name>> keys
            subset?
        ] \ (unit-test) 30 experiment
        { t } [
            test-header parse-include ~quotation~ with-string-writer
            "{ IMPORT_GREEN 8 }" swap subseq?
        ] \ (unit-test) 35 experiment
        { t } [ test-header ~quotation~ with-clang-cursor ]
        \ (unit-test) 44 experiment
        { t } [
            test-header ~quotation~ with-clang-cursor
            test-header ~quotation~
            with-clang-default-translation-unit ~quotation~ filter =
        ] \ (unit-test) 59 experiment [
            "vocab:libclang/does-not-exist.h" normalize-path
            parse-include
        ] [ clang-parse-error? ] \ (must-fail-with) 63 experiment [
            test-header ~quotation~
            with-clang-default-translation-unit
        ] [ "parse aborted" = ] \ (must-fail-with) 66 experiment
        [ test-header ~quotation~ with-clang-cursor ]
        [ "tokens aborted" = ] \ (must-fail-with) 69 experiment
        { 12 12 } [
            <libclang-state> clang-state set-global
            0 emission-count set 12 <iota> f ~quotation~ reduce
            def>out-forms
            emission-count get clang-state> out-forms>> assoc-size
        ] \ (unit-test) 88 experiment
        { t t } [
            test-header parse-include <libclang-state> clang-state
            set-global
            ~quotation~ with-string-writer "{ IMPORT_GREEN 8 }" swap
            subseq? clang-state> out-forms>> assoc-empty?
        ] \ (unit-test) 96 experiment =>
        { t } [
            <libclang-state> dup clang-state set-global
            ~quotation~ ~quotation~ recover clang-state> eq?
        ] \ (unit-test) 102 experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        test-header parse-include => <libclang-state> clang-state
        set-global
        [ write-c-defs ] with-string-writer "{ IMPORT_GREEN 8 }"
        swap subseq? clang-state> out-forms>> assoc-empty?
    ]
(O) parse-include
(O) parse-c-exports
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

==== resource:extra/memcached/memcached-tests.factor

resource:extra/memcached/memcached-tests.factor

Launching failed with error:
Win32 error 0x2: The system cannot find the file specified.
Launch descriptor:

T{ process
    { command
        {
            "memcached"
            "-l"
            "127.0.0.1"
            "-p"
            "-1"
            "-U"
            "0"
            "-t"
            "1"
            "-u"
            "jbenedik"
        }
    }
    { environment
        H{
            {
                "MEMCACHED_PORT_FILENAME"
                "C:\\Users\\jbenedik\\AppData\\Local\\Temp/factorcode.org\\Factor/f4fSldGt6C/ports"
            }
        }
    }
    { environment-mode +append-environment+ }
    { stdin +closed+ }
    { group +same-group+ }
}
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        load-local 0 get-local [
            load-local "ports" absolute-path load-local
            <process> ~array~ username suffix >>command
            0 get-local "MEMCACHED_PORT_FILENAME" associate
            >>environment +closed+ >>stdin run-detached load-local
            0 get-local -1 get-local -2 get-local ~quotation~ curry
            curry curry 0 get-local ~quotation~ curry finally
            3 drop-locals
        ] curry with-test-directory => 1 drop-locals
    ]
    with-test-memcached
(U) [ swap >n call => ndrop ]
    with-variables
(U) [
        load-local unique-directory load-local
        0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local with-directory
            2 drop-locals
        ] curry curry 0 get-local
        [ load-local 0 get-local delete-tree 1 drop-locals ] curry
        finally => 2 drop-locals
    ]
    cleanup-unique-directory
(U) [ [ '[ ~quotation~ dip rethrow ] recover ] keepd => call ]
    cleanup
(U) [ 2keep => drop ]
    keepd
(U) [ swap [ dip ] dip => ]
    2dip
(U) [ swap [ call ] dip => ]
    dip
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(U) [
        2 load-locals -1 get-local 0 get-local with-directory
        => 2 drop-locals
    ]
(U) [ swap >n call => ndrop ]
    with-variables
(U) [
        load-local "ports" absolute-path load-local <process> {
            "memcached"
            "-l"
            "127.0.0.1"
            "-p"
            "-1"
            "-U"
            "0"
            "-t"
            "1"
            "-u"
        } username suffix >>command
        0 get-local "MEMCACHED_PORT_FILENAME" associate
        >>environment +closed+ >>stdin run-detached => load-local
        0 get-local -1 get-local -2 get-local [
            3 load-locals
            -2 get-local -1 get-local ~quotation~ curry curry
            wait-for-test -1 get-local ascii file-lines
            ~quotation~ find nip "TCP INET: " ?head drop
            string>number "127.0.0.1" swap <inet>
            memcached-server 0 get-local with-variable 3 drop-locals
        ] curry curry curry 0 get-local [
            load-local 0 get-local kill-process
            0 get-local ~quotation~ curry ~quotation~ ignore-error/f
            drop 1 drop-locals
        ] curry finally 3 drop-locals
    ]
(O) run-detached
(O) M\ windows (run-process)
(O) launch-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

==== resource:extra/redis/redis-tests.factor

resource:extra/redis/redis-tests.factor: 17

Unit Test: { { -1 } [ [ { "foo" } redis-decr ] with-redis-test ] }

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment =>
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 19

Unit Test: { { 1 } [ [ { "foo" } redis-incr ] with-redis-test ] }

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment =>
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 21

Unit Test: { { -2 } [ [ { "foo" 2 } redis-decrby ] with-redis-test ] }

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment =>
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 23

Unit Test: { { 2 } [ [ { "foo" 2 } redis-incrby ] with-redis-test ] }

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment =>
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 30

Unit Test: {
    { "hello" }
    [
        [ { "foo" "hello" } redis-set drop { "foo" } redis-get ]
        with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment =>
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 37

Unit Test: {
    { { "aa" "ab" "ac" } }
    [
        [
            { "aa" "ab" "ac" "bd" }
            [ "hello" 2array redis-set drop ] each
            { "a*" } redis-keys sort
        ] with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment =>
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 44

Unit Test: {
    { "hello" }
    [
        [
            { "hello" "world" } redis-set drop
            { } redis-randomkey
        ] with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment =>
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 53

Unit Test: {
    { { "3" "2" "1" } "1" "5" "3" }
    [
        [
            { 1 2 3 } [
                number>string "list" swap 2array
                redis-lpush drop
            ] each { "list" 0 -1 } redis-lrange
            { "list" 1 "5" } redis-lset drop 3
            [ { "list" } redis-rpop ] times
        ] with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment =>
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 62

Unit Test: {
    { { "world" } "1" 2 }
    [
        [
            { "hello" "world" "1" } redis-hset drop
            { "hello" } redis-hkeys
            { "hello" "world" } redis-hget
            { "hello" "world" 1 } redis-hincrby
        ] with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment =>
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 69

Unit Test: {
    { t }
    [
        [
            { "hello" "world" } redis-set drop
            [ { "hello" } redis-incr ] [ drop t ] recover
        ] with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment =>
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 72

Unit Test: {
    { "PONG" }
    [ [ { "PING" } redis-send message>> ] with-redis-test ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment =>
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 77

Unit Test: {
    { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
    [ [ { "return 1" } redis-script-load ] with-redis-test ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        =>
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 81

Unit Test: {
    { { 0 0 } }
    [ [ { "foo" "bar" } redis-script-exists ] with-redis-test ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment =>
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 83

Unit Test: { { } [ [ { } redis-script-flush drop ] with-redis-test ] }

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment =>
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 87

Unit Test: {
    { { "foo" } }
    [
        [ { "return { ARGV[1] }" 0 "foo" } redis-eval ]
        with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment =>
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 96

Unit Test: {
    { { { "field" "value" } } }
    [
        <redis> 3 >>protocol [
            { } redis-flushdb drop
            { "h" "field" "value" } redis-hset drop
            { "h" } redis-hgetall
        ] with-redis
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment =>
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 101

Unit Test: {
    { "héllo" }
    [
        [ { "k" "héllo" } redis-set drop { "k" } redis-get ]
        with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        { -1 } [ ~quotation~ with-redis-test ] \ (unit-test) 17
        experiment
        { 1 } [ ~quotation~ with-redis-test ] \ (unit-test) 19
        experiment
        { -2 } [ ~quotation~ with-redis-test ] \ (unit-test) 21
        experiment
        { 2 } [ ~quotation~ with-redis-test ] \ (unit-test) 23
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 30
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 37
        experiment
        { "hello" } [ ~quotation~ with-redis-test ] \ (unit-test) 44
        experiment
        { ~array~ "1" "5" "3" } [ ~quotation~ with-redis-test ]
        \ (unit-test) 53 experiment
        { ~array~ "1" 2 } [ ~quotation~ with-redis-test ]
        \ (unit-test) 62 experiment
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 69
        experiment
        { "PONG" } [ ~quotation~ with-redis-test ] \ (unit-test) 72
        experiment
        { "e0e1f9fabfc9d4800c877a703b823ac0578ff8db" }
        [ ~quotation~ with-redis-test ] \ (unit-test) 77 experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 81
        experiment
        { } [ ~quotation~ with-redis-test ] \ (unit-test) 83
        experiment
        { ~array~ } [ ~quotation~ with-redis-test ] \ (unit-test) 87
        experiment
        { ~array~ } [ <redis> 3 >>protocol ~quotation~ with-redis ]
        \ (unit-test) 96 experiment
        { "héllo" } [ ~quotation~ with-redis-test ] \ (unit-test)
        101 experiment =>
        { t } [ ~quotation~ with-redis-test ] \ (unit-test) 112
        experiment
    ]
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

resource:extra/redis/redis-tests.factor: 112

Unit Test: {
    { t }
    [
        [
            { "MULTI" } redis-send drop
            { "k" "v" } redis-set drop { "k" } redis-incr drop
            { "EXEC" } redis-send second redis-error?
        ] with-redis-test
    ]
}

Win32 error 0x79: The semaphore timeout period has expired.(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-tests
(O) test-vocabs
(O) test-vocab
(O) run-test-file
(U) [
        2 load-locals -1 get-local <experiment> load-local
        silent-tests? get 0 get-local
        [ load-local 0 get-local experiment. 1 drop-locals ] curry
        unless -2 get-local execute => 0 get-local -1 get-local [
            2 load-locals -1 get-local 0 get-local ~quotation~ curry
            curry ~quotation~ if 2 drop-locals
        ] curry curry [ 2drop "Warning: test skipped!" print ] if
        3 drop-locals
    ]
    experiment
(O) (unit-test)
(U) [
        [ ~quotation~ dip swap ~quotation~ dip ] dip swap
        [ call get-datastack ] dip => swap [ set-datastack ] dip
    ]
(U) [ call => get-datastack ]
(U) [
        2 load-locals
        -1 get-local redis-do-connect => -1 get-local 0 get-local [
            2 load-locals -1 get-local redis-authenticate
            -1 get-local redis-negotiate-protocol 0 get-local call
            2 drop-locals
        ] curry curry with-stream 2 drop-locals
    ]
    with-redis
(O) redis-do-connect
(O) <client>
(O) M\ array (client)
(O) M\ object (client)
(O) M\ object establish-connection
(O) twiddle-thumbs
(O) throw-windows-error
(O) windows-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

Benchmark errors

Details:
=== benchmark.spawn-cat
<Listener input>

Launching failed with error:
Win32 error 0x2: The system cannot find the file specified.
Launch descriptor:

T{ process
    { command
        {
            "cat"
            "\\\\?\\C:\\Users\\jbenedik\\builds64\\2026-09-28-20-10\\factor\\extra\\benchmark\\spawn-cat\\spawn-cat.factor"
        }
    }
    { environment H{ } }
    { environment-mode +append-environment+ }
    { stdin +closed+ }
    { stdout +closed+ }
    { stderr +closed+ }
    { group +same-group+ }
}
(U) [ c-to-factor => ]
    c-to-factor
(U) [ [ (get-catchstack) push ] dip call => (get-catchstack) pop* ]
(O) command-line-startup
(O) do-all
(O) do-benchmarks
(O) run-timing-benchmark
(O) spawn-cat
(O) spawn-cat-batch
(O) run-detached
(O) M\ windows (run-process)
(O) launch-error
(O) M\ object throw
(U) [
        OBJ-CURRENT-THREAD special-object error-thread set-global
        current-continuation => error-continuation set-global
        [ original-error set-global ] [ rethrow ] bi
    ]

Benchmarks

BenchmarkTime (seconds)
benchmark.3d-matrix-scalar0.673
benchmark.3d-matrix-vector0.018
benchmark.ant0.081
benchmark.backtrack0.098
benchmark.base160.284
benchmark.base320.202
benchmark.base580.695
benchmark.base640.029
benchmark.base850.153
benchmark.base910.097
benchmark.beust10.365
benchmark.beust20.339
benchmark.binary-search0.109
benchmark.binary-trees1.272
benchmark.bloom-filters0.081
benchmark.bootstrap17.804
benchmark.busy-loop2.626
benchmark.chameneos-redux0.147
benchmark.combinatorics0.038
benchmark.completion0.404
benchmark.continuations0.317
benchmark.crc320.186
benchmark.csv0.047
benchmark.cuckoo-filters2.562
benchmark.dawes0.044
benchmark.dispatch10.505
benchmark.dispatch20.641
benchmark.dispatch30.680
benchmark.dispatch41.275
benchmark.dispatch50.373
benchmark.dispatch62.353
benchmark.dlists0.307
benchmark.e-decimals0.270
benchmark.e-ratios0.227
benchmark.empty-loop-00.029
benchmark.empty-loop-10.157
benchmark.empty-loop-20.076
benchmark.euler1502.530
benchmark.fannkuch0.429
benchmark.farkup0.189
benchmark.fasta0.931
benchmark.fib10.037
benchmark.fib20.030
benchmark.fib30.099
benchmark.fib40.046
benchmark.fib50.147
benchmark.fib62.680
benchmark.fib70.325
benchmark.fib80.147
benchmark.find-pi7.222
benchmark.flip0.287
benchmark.futures10.382
benchmark.futures20.231
benchmark.gc01.412
benchmark.gc10.018
benchmark.gc27.048
benchmark.gc30.129
benchmark.hash-sets0.601
benchmark.hashtables0.531
benchmark.heaps0.138
benchmark.interval-sets0.540
benchmark.iteration0.680
benchmark.json0.173
benchmark.k-nn4.814
benchmark.knucleotide1.703
benchmark.lcs0.233
benchmark.lexer4.456
benchmark.linked-assocs0.429
benchmark.mailbox0.021
benchmark.make0.815
benchmark.mandel0.037
benchmark.matrix-exponential-scalar2.213
benchmark.matrix-exponential-simd0.061
benchmark.md50.042
benchmark.memoize0.245
benchmark.msgpack0.907
benchmark.mt0.078
benchmark.namespaces0.396
benchmark.nbody1.469
benchmark.nbody-simd0.129
benchmark.neon0.791
benchmark.nested-empty-loop-10.302
benchmark.nested-empty-loop-20.152
benchmark.nsieve0.269
benchmark.nsieve-bits0.516
benchmark.nsieve-bytes0.170
benchmark.parse-bignum0.314
benchmark.parse-fixnum0.255
benchmark.parse-float0.341
benchmark.parse-ratio0.151
benchmark.partial-sums0.785
benchmark.pidigits0.158
benchmark.random0.072
benchmark.randomize0.631
benchmark.raytracer0.917
benchmark.raytracer-simd0.125
benchmark.recursive0.499
benchmark.regex-dna0.422
benchmark.regexp0.168
benchmark.reverse-complement1.052
benchmark.ring0.260
benchmark.sfmt0.056
benchmark.sha10.067
benchmark.sieve1.082
benchmark.simd-10.167
benchmark.sockets6.012
benchmark.sort0.920
benchmark.spectral-norm0.632
benchmark.spectral-norm-simd0.239
benchmark.splay0.152
benchmark.splitting0.329
benchmark.stack0.368
benchmark.struct-arrays0.182
benchmark.sum-file0.240
benchmark.tasks6.787
benchmark.tcp-echo02.045
benchmark.tcp-echo12.170
benchmark.tcp-echo22.159
benchmark.terrain-generation0.030
benchmark.timers0.007
benchmark.tuple-arrays0.273
benchmark.typecheck10.375
benchmark.typecheck20.361
benchmark.typecheck30.433
benchmark.udp-echo00.232
benchmark.udp-echo10.257
benchmark.udp-echo20.382
benchmark.ui-panes0.042
benchmark.unicode0.200
benchmark.utf168.987
benchmark.utf815.728
benchmark.wrap0.079
benchmark.xml0.339
benchmark.yield0.020
benchmark.yuv-to-rgb0.036