mirror of
https://github.com/ethauvin/sdkman-for-fish.git
synced 2025-04-25 05:17:11 -07:00
Allow to pass parameters to Cucumber in Docker.
Also add some comments.
This commit is contained in:
parent
2afb22f6af
commit
15997dcba8
3 changed files with 40 additions and 6 deletions
27
README.md
27
README.md
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
[![Build Status][travis-badge]][travis-link]
|
[![Build Status][travis-badge]][travis-link]
|
||||||
|
|
||||||
Makes command `sdk` from [SDKMAN!] usable from fish, including auto-completion.
|
Makes command `sdk` from [SDKMAN!] usable from [fish], including auto-completion.
|
||||||
Also adds binaries from installed SDKs to the PATH.
|
Also adds binaries from installed SDKs to the PATH.
|
||||||
|
|
||||||
Version 1.4.0 tested with
|
Version 1.5.0 tested with
|
||||||
|
|
||||||
- fish 2.7.1 and 3.0.2, and
|
- fish 2.7.1 and 3.1.2, and
|
||||||
- SDKMAN! 5.7.4, on
|
- SDKMAN! 5.8.2, on
|
||||||
- Ubuntu 18.04 LTS and macOS 10.13
|
- Ubuntu 18.04 LTS and macOS 10.13
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
@ -38,13 +38,29 @@ As the tests may mess up your own setup
|
||||||
-- you have been warned! --
|
-- you have been warned! --
|
||||||
the recommended way is to run the tests in a Docker container:
|
the recommended way is to run the tests in a Docker container:
|
||||||
|
|
||||||
```bash
|
```fish
|
||||||
docker build -t sdkman-for-fish-tests -f test/Dockerfile .
|
docker build -t sdkman-for-fish-tests -f test/Dockerfile .
|
||||||
docker run --rm sdkman-for-fish-tests
|
docker run --rm sdkman-for-fish-tests
|
||||||
```
|
```
|
||||||
|
|
||||||
A run configuration for Jetbrains IDEs is included.
|
A run configuration for Jetbrains IDEs is included.
|
||||||
|
|
||||||
|
It is a also possible to run individual features, for instance:
|
||||||
|
|
||||||
|
```fish
|
||||||
|
docker run --rm sdkman-for-fish-tests features/completions.feature
|
||||||
|
```
|
||||||
|
|
||||||
|
As a corollary, this is the fastest way to run all tests
|
||||||
|
(if you do not care about the report):
|
||||||
|
|
||||||
|
```fish
|
||||||
|
for f in features/*.feature
|
||||||
|
docker run --rm sdkman-for-fish-tests "$f" &
|
||||||
|
done
|
||||||
|
wait
|
||||||
|
```
|
||||||
|
|
||||||
## Acknowledgements
|
## Acknowledgements
|
||||||
|
|
||||||
* Completion originally by [Ted Wise](https://github.com/ctwise); see his
|
* Completion originally by [Ted Wise](https://github.com/ctwise); see his
|
||||||
|
@ -53,6 +69,7 @@ A run configuration for Jetbrains IDEs is included.
|
||||||
see [his comment on sdkman/sdkman-cli#294](https://github.com/sdkman/sdkman-cli/issues/294#issuecomment-318252058).
|
see [his comment on sdkman/sdkman-cli#294](https://github.com/sdkman/sdkman-cli/issues/294#issuecomment-318252058).
|
||||||
|
|
||||||
[SDKMAN!]: https://github.com/sdkman/sdkman-cli
|
[SDKMAN!]: https://github.com/sdkman/sdkman-cli
|
||||||
|
[fish]: https://fishshell.com/
|
||||||
[fisher]: https://github.com/jorgebucaran/fisher
|
[fisher]: https://github.com/jorgebucaran/fisher
|
||||||
[travis-link]: https://travis-ci.org/reitzig/sdkman-for-fish
|
[travis-link]: https://travis-ci.org/reitzig/sdkman-for-fish
|
||||||
[travis-badge]: https://travis-ci.org/reitzig/sdkman-for-fish.svg?branch=master
|
[travis-badge]: https://travis-ci.org/reitzig/sdkman-for-fish.svg?branch=master
|
||||||
|
|
|
@ -21,6 +21,13 @@ RUN groupadd -r test \
|
||||||
USER test
|
USER test
|
||||||
RUN curl -s "https://get.sdkman.io" | bash
|
RUN curl -s "https://get.sdkman.io" | bash
|
||||||
|
|
||||||
|
# To speed up tests, uncomment this shared setup:
|
||||||
|
#SHELL ["/bin/bash", "-c"]
|
||||||
|
#RUN source "$TEST_HOME/.sdkman/bin/sdkman-init.sh" \
|
||||||
|
# && sdk install ant 1.9.9 \
|
||||||
|
# && sdk install ant 1.10.1 \
|
||||||
|
# && sdk install crash
|
||||||
|
|
||||||
# "Install" sdkman-for-fish
|
# "Install" sdkman-for-fish
|
||||||
RUN mkdir -p $TEST_HOME/.config/fish/
|
RUN mkdir -p $TEST_HOME/.config/fish/
|
||||||
COPY --chown=test:test completions $TEST_HOME/.config/fish/completions/
|
COPY --chown=test:test completions $TEST_HOME/.config/fish/completions/
|
||||||
|
@ -30,4 +37,5 @@ RUN ls -R $TEST_HOME/.config/fish/
|
||||||
|
|
||||||
# Run tests
|
# Run tests
|
||||||
COPY test ./
|
COPY test ./
|
||||||
CMD cucumber
|
ENTRYPOINT ["cucumber"]
|
||||||
|
CMD []
|
||||||
|
|
|
@ -7,6 +7,15 @@ Given(/^SDKMAN! candidate list is up to date$/) do
|
||||||
end
|
end
|
||||||
|
|
||||||
Given(/^candidate (\w+) is installed at version (\d+(?:\.\d+)*)$/) do |candidate, version|
|
Given(/^candidate (\w+) is installed at version (\d+(?:\.\d+)*)$/) do |candidate, version|
|
||||||
|
# TODO: Can we mock-install instead?
|
||||||
|
# Something like
|
||||||
|
#
|
||||||
|
# mkdir -p ${SDKMAN_CANDIDATES_DIR}/${candidate}/{version}/bin \
|
||||||
|
# && touch ${SDKMAN_CANDIDATES_DIR}/${candidate}/${version}/bin/${candidate} &&
|
||||||
|
# ln -s ${SDKMAN_CANDIDATES_DIR}/${candidate}/current ${SDKMAN_CANDIDATES_DIR}/${candidate}/${version}
|
||||||
|
#
|
||||||
|
# should be quite enough to trick sdk as far as we need it to trick.
|
||||||
|
# Or is it?
|
||||||
run_bash_command("sdk install #{candidate} #{version}") unless installed?(candidate, version)
|
run_bash_command("sdk install #{candidate} #{version}") unless installed?(candidate, version)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue