Comments (5)
Thanks for reporting this! Do master and the latest released version, 1.34, fail with the same error? That test tries to interactively make sure that bash completions are working, so it's probably sensitive to which version of bash is installed.
from just.
The error building 1.34.0 appears in the middle of the test output rather than the end, but other than that is identical:
test fmt::recipe_parameter_conditional ... ok
test fmt::recipe_parameter_default ... ok
test fmt::recipe_parameter_concat ... ok
test fmt::recipe_parameter_default_envar ... ok
test_complete_all_recipes: failed! Completion for `just` does not match.
test fmt::recipe_parameter_envar ... ok
test fmt::recipe_parameter_in_body ... ok
--- expected
+++ actual
@@ -1 +1 @@
-declare -a COMPREPLY=([0]="deploy" [1]="install" [2]="publish" [3]="push" [4]="test")
+declare -a COMPREPLY=()
test fmt::recipe_parameters ... ok
test fmt::recipe_parameters_envar ... ok
test fmt::recipe_quiet ... ok
test fmt::recipe_quiet_command ... ok
test_complete_recipes_starting_with_i: failed! Completion for `just i` does not match.
test fmt::recipe_positional_variadic ... ok
--- expected
+++ actual
@@ -1 +1 @@
-declare -a COMPREPLY=([0]="install")
+declare -a COMPREPLY=()
test fmt::recipe_quiet_comment ... ok
test fmt::recipe_several_commands ... ok
test_complete_recipes_starting_with_p: failed! Completion for `just p` does not match.
test fmt::recipe_variadic_plus ... ok
test fmt::recipe_variadic_default ... ok
test fmt::unstable_not_passed ... ok
--- expected
+++ actual
@@ -1 +1 @@
-declare -a COMPREPLY=([0]="publish" [1]="push")
+declare -a COMPREPLY=()
test fmt::unstable_passed ... ok
test fmt::separate_recipes_aliases ... ok
test fmt::recipe_with_docstring ... ok
test fmt::recipe_with_comments_in_body ... ok
test fmt::recipe_variadic_star ... ok
test fmt::set_false ... ok
test fmt::set_true_explicit ... ok
test fmt::set_shell ... ok
test_complete_recipes_from_subdirs: failed! Completion for `just subdir/` does not match.
test fmt::set_true_implicit ... ok
test functions::broken_directory_function2 ... ok
test functions::broken_directory_function ... ok
--- expected
test functions::broken_file_stem_function ... ok
+++ actual
@@ -1 +1 @@
-declare -a COMPREPLY=([0]="subdir/special" [1]="subdir/surprise")
+declare -a COMPREPLY=([0]="subdir/")
test functions::broken_extension_function2 ... ok
Some test[s] failed.
test functions::broken_extension_function ... ok
test functions::broken_without_extension_function ... ok
test functions::broken_file_name_function ... ok
test fmt::subsequent ... ok
test fmt::write_error ... ok
test completions::bash ... FAILED
test functions::choose_bad_alphabet_empty ... ok
test functions::blake3 ... ok
test functions::choose_bad_length ... ok
test functions::blake3_file ... ok
........
........
test working_directory::working_dir_applies_to_backticks ... ok
test unstable::set_unstable_true_with_env_var ... ok
test working_directory::working_dir_applies_to_shell_function ... ok
test working_directory::working_dir_applies_to_backticks_in_submodules ... ok
test working_directory::setting ... ok
test working_directory::working_dir_applies_to_shell_function_in_submodules ... ok
test working_directory::working_dir_in_submodule_is_relative_to_module_path ... ok
test readme::readme ... ok
failures:
---- completions::bash stdout ----
thread 'completions::bash' panicked at tests/completions.rs:26:3:
assertion failed: status.success()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failures:
completions::bash
test result: FAILED. 795 passed; 1 failed; 7 ignored; 0 measured; 3 filtered out; finished in 1.43s
I think it's just due to Rust parallelism and waiting for all jobs to finish. I'm not sure how to build from master unfortunately due to the way abuild works. The bash version in use is shown while setting up the environment as (12/28) Installing bash (5.2.26-r0)
.
I tried manually running the build in the build environment, and then manually running the test:
/home/builder/package/just-1.34.0 # target/release/just --completions bash > completions.bash
/home/builder/package/just-1.34.0 # tests/completions/just.bash /home/builder/package/just-1.34.0/completi
ons.bash
warning: /home/builder/package/just-1.34.0/Cargo.toml: unused manifest key: lints.rust.unexpected_cfgs.check-cfg
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.15s
fatal: not a git repository (or any parent up to mount point /home/builder)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
test_complete_all_recipes: ok
test_complete_recipes_starting_with_i: ok
test_complete_recipes_starting_with_p: ok
test_complete_recipes_from_subdirs: ok
All tests passed.
Maybe something related to temp file handling when running in abuild? I'm starting to think we can disable this test like the three others already disabled for Alpine builds, the output itself is correct I think.
from just.
Hmm, interesting. Can you try with an older version of bash? The tests are passing for me on a Debian box with bash 5.1.4.
from just.
It's really difficult to inject packages from older releases of Alpine during the build process unfortunately. I think I'll just add it to the skipped tests with a brief explanation, given that I was able to pass the test successfully by running it manually. We can add it to the (for now) short list of tests that don't work on Alpine for whatever reason, and someone with more skill with abuild can maybe resolve them one day:
cargo test --frozen -- \
--skip choose::default \
--skip edit::editor_precedence \
--skip functions::env_var_functions \
--skip completions::bash
Is that ok with you, should I go ahead and open a MR and see what the Alpine maintainers think about it?
from just.
That sounds pretty reasonable to me! I think this is something going on with Alpine, since tests are passing on other Linux distros, so there's probably not much to do on the just
side.
from just.
Related Issues (20)
- failed to select a version for `env_logger` which could resolve this conflict HOT 4
- Run in existing shell OR create interactive child shell HOT 5
- Trouble loading .env file from path HOT 1
- feature request: idempotentcy guards HOT 10
- Allow const expressions in settings
- Bug: Incorrect run just command in just file HOT 2
- [feature request] Installation via pip? HOT 6
- Improvements to cross-platform path environment variable manipulation
- Cannot have a dependencies when using module HOT 2
- Publish checksums of release binaries HOT 2
- Do subsequents of a recipe run "immediately" after the recipe (by specification)? HOT 1
- Fallback for submodules HOT 3
- justfile does not preserver the command exit code HOT 1
- just submodule -l HOT 3
- set working-directory := justfile_directory() HOT 5
- Add variable to have just require a program to be present on the system HOT 1
- Color-code `just` groups HOT 3
- Unknown start of token for simple just HOT 1
- "ignore-comments" does not completely ignore commented lines HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from just.