Skip to content

testscript: Add Chdir method to change directory#247

Merged
mvdan merged 1 commit intorogpeppe:masterfrom
abhinav:testscript-chdir
Apr 11, 2024
Merged

testscript: Add Chdir method to change directory#247
mvdan merged 1 commit intorogpeppe:masterfrom
abhinav:testscript-chdir

Conversation

@abhinav
Copy link
Contributor

@abhinav abhinav commented Feb 19, 2024

It is not currently possible for a custom testscript command
to change the working directory of that script run.
TestScript.Exec runs the command in a subprocess,
so one cannot do ts.Exec("cd", dir).

This change adds a Chdir method to TestScript
that allows changing the working directory of the script.
The implementation is the same as the "cd" command,
which now relies on Chdir.

The availability of this function matches similar functionality in the
State.Chdir method of rsc.io/script.
(I ported some tests from rsc.io/script to testscript.)

It is not currently possible for a custom testscript command
to change the working directory of that script run.
`TestScript.Exec` runs the command in a subprocess,
so one cannot do `ts.Exec("cd", dir)`.

This change adds a `Chdir` method to `TestScript`
that allows changing the working directory of the script.
The implementation is the same as the "cd" command,
which now relies on `Chdir`.

The availability of this function matches similar functionality in the
[`State.Chdir` method of rsc.io/script][1].
(I ported some tests from rsc.io/script to testscript.)

  [1]: https://pkg.go.dev/rsc.io/script#State.Chdir
@abhinav
Copy link
Contributor Author

abhinav commented Mar 22, 2024

Gentle bump, @mvdan @rogpeppe.
Any interest in this PR?

Copy link
Collaborator

@mvdan mvdan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@mvdan mvdan merged commit 31b9365 into rogpeppe:master Apr 11, 2024
@abhinav abhinav deleted the testscript-chdir branch April 11, 2024 16:08
dmathieu referenced this pull request in open-telemetry/opentelemetry-go-contrib Sep 24, 2024
…#6147)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/rogpeppe/go-internal](https://redirect.github.com/rogpeppe/go-internal)
| `v1.12.0` -> `v1.13.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2frogpeppe%2fgo-internal/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2frogpeppe%2fgo-internal/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2frogpeppe%2fgo-internal/v1.12.0/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2frogpeppe%2fgo-internal/v1.12.0/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>rogpeppe/go-internal
(github.com/rogpeppe/go-internal)</summary>

###
[`v1.13.1`](https://redirect.github.com/rogpeppe/go-internal/releases/tag/v1.13.1)

[Compare
Source](https://redirect.github.com/rogpeppe/go-internal/compare/v1.13.0...v1.13.1)

#### What's Changed

- testscript: fix ptyName() returning /dev/pts/4294967296 on s390x by
[@&#8203;anthonyfok](https://redirect.github.com/anthonyfok) in
[https://github.com/rogpeppe/go-internal/pull/246](https://redirect.github.com/rogpeppe/go-internal/pull/246)
- all: Move away from ioutil by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/rogpeppe/go-internal/pull/248](https://redirect.github.com/rogpeppe/go-internal/pull/248)
- testscript/doc: add `go` to the list of testscript commands by
[@&#8203;rudifa](https://redirect.github.com/rudifa) in
[https://github.com/rogpeppe/go-internal/pull/249](https://redirect.github.com/rogpeppe/go-internal/pull/249)
- testscript: Add Chdir method to change directory by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/rogpeppe/go-internal/pull/247](https://redirect.github.com/rogpeppe/go-internal/pull/247)
- testscript: add kill command by
[@&#8203;kortschak](https://redirect.github.com/kortschak) in
[https://github.com/rogpeppe/go-internal/pull/243](https://redirect.github.com/rogpeppe/go-internal/pull/243)
- testscript: clarify HOME and TMPDIR env var names by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/240](https://redirect.github.com/rogpeppe/go-internal/pull/240)
- all: Add Go 1.22, drop Go 1.20 by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/rogpeppe/go-internal/pull/252](https://redirect.github.com/rogpeppe/go-internal/pull/252)
- update dependencies and rely on Go 1.21 APIs by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/256](https://redirect.github.com/rogpeppe/go-internal/pull/256)
- cmd/testscript: remove redundant use of Failed by
[@&#8203;rogpeppe](https://redirect.github.com/rogpeppe) in
[https://github.com/rogpeppe/go-internal/pull/257](https://redirect.github.com/rogpeppe/go-internal/pull/257)
- testscript: add Config.Files by
[@&#8203;rogpeppe](https://redirect.github.com/rogpeppe) in
[https://github.com/rogpeppe/go-internal/pull/258](https://redirect.github.com/rogpeppe/go-internal/pull/258)
- cmd/testscript: do not create an extra temporary directory by
[@&#8203;rogpeppe](https://redirect.github.com/rogpeppe) in
[https://github.com/rogpeppe/go-internal/pull/259](https://redirect.github.com/rogpeppe/go-internal/pull/259)
- Fix typos discovered by codespell by
[@&#8203;cclauss](https://redirect.github.com/cclauss) in
[https://github.com/rogpeppe/go-internal/pull/262](https://redirect.github.com/rogpeppe/go-internal/pull/262)
- testscript: ignore result when interrupting background processes by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/265](https://redirect.github.com/rogpeppe/go-internal/pull/265)
- add goproxytest testing API, forward dirhash by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/272](https://redirect.github.com/rogpeppe/go-internal/pull/272)
- update Go, update the README by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/273](https://redirect.github.com/rogpeppe/go-internal/pull/273)

#### New Contributors

- [@&#8203;anthonyfok](https://redirect.github.com/anthonyfok) made
their first contribution in
[https://github.com/rogpeppe/go-internal/pull/246](https://redirect.github.com/rogpeppe/go-internal/pull/246)
- [@&#8203;abhinav](https://redirect.github.com/abhinav) made their
first contribution in
[https://github.com/rogpeppe/go-internal/pull/248](https://redirect.github.com/rogpeppe/go-internal/pull/248)
- [@&#8203;rudifa](https://redirect.github.com/rudifa) made their first
contribution in
[https://github.com/rogpeppe/go-internal/pull/249](https://redirect.github.com/rogpeppe/go-internal/pull/249)
- [@&#8203;kortschak](https://redirect.github.com/kortschak) made their
first contribution in
[https://github.com/rogpeppe/go-internal/pull/243](https://redirect.github.com/rogpeppe/go-internal/pull/243)
- [@&#8203;cclauss](https://redirect.github.com/cclauss) made their
first contribution in
[https://github.com/rogpeppe/go-internal/pull/262](https://redirect.github.com/rogpeppe/go-internal/pull/262)

**Full Changelog**:
rogpeppe/go-internal@v1.12.0...v1.13.1

###
[`v1.13.0`](https://redirect.github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.0)

[Compare
Source](https://redirect.github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go-contrib).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <[email protected]>
dmathieu referenced this pull request in open-telemetry/opentelemetry-go Sep 25, 2024
…#5835)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[github.com/rogpeppe/go-internal](https://redirect.github.com/rogpeppe/go-internal)
| `v1.12.0` -> `v1.13.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2frogpeppe%2fgo-internal/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2frogpeppe%2fgo-internal/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2frogpeppe%2fgo-internal/v1.12.0/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2frogpeppe%2fgo-internal/v1.12.0/v1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>rogpeppe/go-internal
(github.com/rogpeppe/go-internal)</summary>

###
[`v1.13.1`](https://redirect.github.com/rogpeppe/go-internal/releases/tag/v1.13.1)

[Compare
Source](https://redirect.github.com/rogpeppe/go-internal/compare/v1.13.0...v1.13.1)

#### What's Changed

- testscript: fix ptyName() returning /dev/pts/4294967296 on s390x by
[@&#8203;anthonyfok](https://redirect.github.com/anthonyfok) in
[https://github.com/rogpeppe/go-internal/pull/246](https://redirect.github.com/rogpeppe/go-internal/pull/246)
- all: Move away from ioutil by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/rogpeppe/go-internal/pull/248](https://redirect.github.com/rogpeppe/go-internal/pull/248)
- testscript/doc: add `go` to the list of testscript commands by
[@&#8203;rudifa](https://redirect.github.com/rudifa) in
[https://github.com/rogpeppe/go-internal/pull/249](https://redirect.github.com/rogpeppe/go-internal/pull/249)
- testscript: Add Chdir method to change directory by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/rogpeppe/go-internal/pull/247](https://redirect.github.com/rogpeppe/go-internal/pull/247)
- testscript: add kill command by
[@&#8203;kortschak](https://redirect.github.com/kortschak) in
[https://github.com/rogpeppe/go-internal/pull/243](https://redirect.github.com/rogpeppe/go-internal/pull/243)
- testscript: clarify HOME and TMPDIR env var names by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/240](https://redirect.github.com/rogpeppe/go-internal/pull/240)
- all: Add Go 1.22, drop Go 1.20 by
[@&#8203;abhinav](https://redirect.github.com/abhinav) in
[https://github.com/rogpeppe/go-internal/pull/252](https://redirect.github.com/rogpeppe/go-internal/pull/252)
- update dependencies and rely on Go 1.21 APIs by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/256](https://redirect.github.com/rogpeppe/go-internal/pull/256)
- cmd/testscript: remove redundant use of Failed by
[@&#8203;rogpeppe](https://redirect.github.com/rogpeppe) in
[https://github.com/rogpeppe/go-internal/pull/257](https://redirect.github.com/rogpeppe/go-internal/pull/257)
- testscript: add Config.Files by
[@&#8203;rogpeppe](https://redirect.github.com/rogpeppe) in
[https://github.com/rogpeppe/go-internal/pull/258](https://redirect.github.com/rogpeppe/go-internal/pull/258)
- cmd/testscript: do not create an extra temporary directory by
[@&#8203;rogpeppe](https://redirect.github.com/rogpeppe) in
[https://github.com/rogpeppe/go-internal/pull/259](https://redirect.github.com/rogpeppe/go-internal/pull/259)
- Fix typos discovered by codespell by
[@&#8203;cclauss](https://redirect.github.com/cclauss) in
[https://github.com/rogpeppe/go-internal/pull/262](https://redirect.github.com/rogpeppe/go-internal/pull/262)
- testscript: ignore result when interrupting background processes by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/265](https://redirect.github.com/rogpeppe/go-internal/pull/265)
- add goproxytest testing API, forward dirhash by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/272](https://redirect.github.com/rogpeppe/go-internal/pull/272)
- update Go, update the README by
[@&#8203;mvdan](https://redirect.github.com/mvdan) in
[https://github.com/rogpeppe/go-internal/pull/273](https://redirect.github.com/rogpeppe/go-internal/pull/273)

#### New Contributors

- [@&#8203;anthonyfok](https://redirect.github.com/anthonyfok) made
their first contribution in
[https://github.com/rogpeppe/go-internal/pull/246](https://redirect.github.com/rogpeppe/go-internal/pull/246)
- [@&#8203;abhinav](https://redirect.github.com/abhinav) made their
first contribution in
[https://github.com/rogpeppe/go-internal/pull/248](https://redirect.github.com/rogpeppe/go-internal/pull/248)
- [@&#8203;rudifa](https://redirect.github.com/rudifa) made their first
contribution in
[https://github.com/rogpeppe/go-internal/pull/249](https://redirect.github.com/rogpeppe/go-internal/pull/249)
- [@&#8203;kortschak](https://redirect.github.com/kortschak) made their
first contribution in
[https://github.com/rogpeppe/go-internal/pull/243](https://redirect.github.com/rogpeppe/go-internal/pull/243)
- [@&#8203;cclauss](https://redirect.github.com/cclauss) made their
first contribution in
[https://github.com/rogpeppe/go-internal/pull/262](https://redirect.github.com/rogpeppe/go-internal/pull/262)

**Full Changelog**:
rogpeppe/go-internal@v1.12.0...v1.13.1

###
[`v1.13.0`](https://redirect.github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.0)

[Compare
Source](https://redirect.github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants