Skip to content

Commit

Permalink
Get MDX tests working on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
polytypic committed Jul 24, 2023
1 parent 355f8da commit 988e85a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# To work around MDX issues
README.md text eol=lf
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 skip -->
```ocaml
# Eio_main.run @@ fun env ->
let net = Eio.Stdenv.net env in
Switch.run @@ fun sw ->
Expand Down Expand Up @@ -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 ->
Expand Down Expand Up @@ -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 non-deterministic=command -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
Expand All @@ -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 non-deterministic=command -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
Expand All @@ -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 non-deterministic=command -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
Expand All @@ -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 non-deterministic=command -->
```ocaml
# Eio_main.run @@ fun env ->
let proc_mgr = Eio.Stdenv.process_mgr env in
Expand Down
1 change: 0 additions & 1 deletion dune
Original file line number Diff line number Diff line change
Expand Up @@ -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))
3 changes: 2 additions & 1 deletion lib_eio_windows/dune
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit 988e85a

Please sign in to comment.