Fix/dagger edit: wrong dir Path leads to infinite loop
Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
This commit is contained in:
parent
2249eab15d
commit
a7ca7e11ba
@ -34,7 +34,7 @@ var dirCmd = &cobra.Command{
|
|||||||
|
|
||||||
// Check that directory exists
|
// Check that directory exists
|
||||||
if _, err := os.Stat(p); os.IsNotExist(err) {
|
if _, err := os.Stat(p); os.IsNotExist(err) {
|
||||||
lg.Fatal().Err(err).Str("path", args[1]).Msg("dir doesn't exists")
|
lg.Fatal().Err(err).Str("path", args[1]).Msg("dir doesn't exist")
|
||||||
}
|
}
|
||||||
|
|
||||||
project := common.CurrentProject(ctx)
|
project := common.CurrentProject(ctx)
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
@ -113,6 +114,10 @@ func (dir dirInput) Compile(_ string, state *State) (*compiler.Value, error) {
|
|||||||
if !strings.HasPrefix(p, state.Project) {
|
if !strings.HasPrefix(p, state.Project) {
|
||||||
return nil, fmt.Errorf("%q is outside the project", dir.Path)
|
return nil, fmt.Errorf("%q is outside the project", dir.Path)
|
||||||
}
|
}
|
||||||
|
// Check that directory exists
|
||||||
|
if _, err := os.Stat(p); os.IsNotExist(err) {
|
||||||
|
return nil, fmt.Errorf("%q dir doesn't exist", dir.Path)
|
||||||
|
}
|
||||||
|
|
||||||
llb := fmt.Sprintf(
|
llb := fmt.Sprintf(
|
||||||
`#up: [{do:"local",dir:"%s", include:%s, exclude:%s}]`,
|
`#up: [{do:"local",dir:"%s", include:%s, exclude:%s}]`,
|
||||||
|
@ -320,7 +320,7 @@ setup() {
|
|||||||
|
|
||||||
run "$DAGGER" input dir src xxx -e "input"
|
run "$DAGGER" input dir src xxx -e "input"
|
||||||
assert_failure
|
assert_failure
|
||||||
assert_output --partial "dir doesn't exists"
|
assert_output --partial "dir doesn't exist"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "dagger input dir: ignore .dagger" {
|
@test "dagger input dir: ignore .dagger" {
|
||||||
|
Reference in New Issue
Block a user