This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -0,0 +1,117 @@
|
|||
Demonstrate what happens if a user attempts to add to modify the PATH variable
|
||||
using the withenv action.
|
||||
|
||||
$ . ./helpers.sh
|
||||
|
||||
This path is system-specific so we need to be able to remove it from the output.
|
||||
$ DUNE_PATH=$(dirname $(which dune))
|
||||
|
||||
$ make_lockdir
|
||||
|
||||
Make some packages so that the test package can have dependencies:
|
||||
$ cat >dune.lock/hello1.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> EOF
|
||||
$ cat >dune.lock/hello2.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> EOF
|
||||
|
||||
Printing out PATH without setting it:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (build
|
||||
> (system "echo PATH=$PATH"))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=DUNE_PATH:/bin
|
||||
|
||||
Setting PATH to a specific value:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (build
|
||||
> (withenv
|
||||
> ((= PATH /tmp/bin))
|
||||
> (system "echo PATH=$PATH")))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=/tmp/bin
|
||||
|
||||
Attempting to add a path to PATH replaces the entire PATH:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (build
|
||||
> (withenv
|
||||
> ((+= PATH /tmp/bin))
|
||||
> (system "echo PATH=$PATH")))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=/tmp/bin:DUNE_PATH:/bin
|
||||
|
||||
Try adding multiple paths to PATH:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (build
|
||||
> (withenv
|
||||
> ((+= PATH /tmp/bin)
|
||||
> (+= PATH /foo/bin)
|
||||
> (+= PATH /bar/bin))
|
||||
> (system "echo PATH=$PATH")))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=/bar/bin:/foo/bin:/tmp/bin:DUNE_PATH:/bin
|
||||
|
||||
Printing out PATH without setting it when the package has a dependency:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (depends hello1 hello2)
|
||||
> (build
|
||||
> (system "echo PATH=$PATH"))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ OCAMLRUNPARAM=b PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=$TESTCASE_ROOT/_build/_private/default/.pkg/hello2/target/bin:$TESTCASE_ROOT/_build/_private/default/.pkg/hello1/target/bin:DUNE_PATH:/bin
|
||||
|
||||
Setting PATH to a specific value:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (depends hello1 hello2)
|
||||
> (build
|
||||
> (withenv
|
||||
> ((= PATH /tmp/bin))
|
||||
> (system "echo PATH=$PATH")))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=/tmp/bin
|
||||
|
||||
Attempting to add a path to PATH replaces the entire PATH:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (depends hello1 hello2)
|
||||
> (build
|
||||
> (withenv
|
||||
> ((+= PATH /tmp/bin))
|
||||
> (system "echo PATH=$PATH")))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=/tmp/bin:$TESTCASE_ROOT/_build/_private/default/.pkg/hello2/target/bin:$TESTCASE_ROOT/_build/_private/default/.pkg/hello1/target/bin:DUNE_PATH:/bin
|
||||
|
||||
Try adding multiple paths to PATH:
|
||||
$ cat >dune.lock/test.pkg <<'EOF'
|
||||
> (version 0.0.1)
|
||||
> (depends hello1 hello2)
|
||||
> (build
|
||||
> (withenv
|
||||
> ((+= PATH /tmp/bin)
|
||||
> (+= PATH /foo/bin)
|
||||
> (+= PATH /bar/bin))
|
||||
> (system "echo PATH=$PATH")))
|
||||
> EOF
|
||||
$ dune clean
|
||||
$ PATH=$DUNE_PATH:/bin build_pkg test 2>&1 | sed -e "s#$DUNE_PATH#DUNE_PATH#"
|
||||
PATH=/bar/bin:/foo/bin:/tmp/bin:$TESTCASE_ROOT/_build/_private/default/.pkg/hello2/target/bin:$TESTCASE_ROOT/_build/_private/default/.pkg/hello1/target/bin:DUNE_PATH:/bin
|
||||
Loading…
Add table
Add a link
Reference in a new issue