Compare commits

...

2 Commits

Author SHA1 Message Date
Vesa Karvonen
2b8cdede5e Skip tests by os_type 2023-07-27 18:11:41 +03:00
Vesa Karvonen
988e85a0b5 Get MDX tests working on Windows 2023-07-24 12:45:32 +03:00
6 changed files with 22 additions and 4 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# To work around MDX issues
README.md text eol=lf

View File

@ -752,12 +752,17 @@ Eio.Io Net Connection_failure Refused Unix_error (Connection refused, "connect",
```
If we ran this using another backend, the `Unix_error` part might change.
To avoid this problem, you can use `Eio.Exn.Backend.show` to hide the backend-specific part of errors:
To avoid this problem, you can use `Eio.Exn.Backend.show`
```ocaml
# Eio.Exn.Backend.show := false;;
- : unit = ()
```
to hide the backend-specific part of errors:
<!-- $MDX os_type<>Win32 -->
```ocaml
# Eio_main.run @@ fun env ->
let net = Eio.Stdenv.net env in
Switch.run @@ fun sw ->
@ -842,7 +847,8 @@ let try_mkdir path =
The checks also apply to following symlinks:
```ocaml
# Unix.symlink "dir1" "link-to-dir1"; Unix.symlink "/tmp" "link-to-tmp";;
# Unix.symlink "dir1" "link-to-dir1";
Unix.symlink (Filename.get_temp_dir_name ()) "link-to-tmp";;
- : unit = ()
# Eio_main.run @@ fun env ->
@ -881,6 +887,7 @@ perhaps with `open_dir` to constrain all access to be within that directory.
Spawning a child process can be done using the [Eio.Process][] module:
<!-- $MDX os_type<>Win32 -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
@ -892,6 +899,7 @@ hello
There are various optional arguments for setting the process's current directory or connecting up the standard streams.
For example, we can use `tr` to convert some text to upper-case:
<!-- $MDX os_type<>Win32 -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
@ -904,6 +912,7 @@ ONE TWO THREE
If you want to capture the output of a process, you can provide a suitable `Eio.Flow.sink` as the `stdout` argument,
or use the `parse_out` convenience wrapper:
<!-- $MDX os_type<>Win32 -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
@ -913,6 +922,7 @@ or use the `parse_out` convenience wrapper:
All process functions either return the exit status or check that it was zero (success):
<!-- $MDX os_type<>Win32 -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in

1
dune
View File

@ -2,5 +2,4 @@
(package eio_main)
(deps (package eio_main) (env_var "EIO_BACKEND"))
(preludes doc/prelude.ml)
(enabled_if (<> %{os_type} "Win32"))
(files README.md))

View File

@ -47,3 +47,6 @@ build: [
]
]
dev-repo: "git+https://github.com/ocaml-multicore/eio.git"
pin-depends: [
[ "mdx.dev" "git+https://github.com/polytypic/mdx.git#7101533dedf90983e760d8a08f8bfeef4fedb89b" ]
]

3
eio.opam.template Normal file
View File

@ -0,0 +1,3 @@
pin-depends: [
[ "mdx.dev" "git+https://github.com/polytypic/mdx.git#7101533dedf90983e760d8a08f8bfeef4fedb89b" ]
]

View File

@ -1,12 +1,13 @@
(library
(name eio_windows)
(public_name eio_windows)
(library_flags :standard -ccopt -lbcrypt -ccopt -lntdll)
(library_flags :standard -cclib -lbcrypt -cclib -lntdll)
(enabled_if (= %{os_type} "Win32"))
(foreign_stubs
(language c)
(include_dirs ../lib_eio/unix/include)
(names eio_windows_stubs eio_windows_cstruct_stubs))
(c_library_flags :standard -lbcrypt -lntdll)
(libraries eio eio.unix eio.utils fmt))
(rule