@@ -101,3 +101,35 @@ func TestRustHasTrailingDashes(t *testing.T) {
101101
102102 assert .True (t , strings .HasSuffix (cmd , "--" ), "rust's test command should have trailing dashes" )
103103}
104+
105+ func TestIdrisUsesCurrentDirectory (t * testing.T ) {
106+ currentDir , err := os .Getwd ()
107+ assert .NoError (t , err )
108+
109+ exerciseDir := filepath .Join (currentDir , "hello-world" )
110+ defer os .RemoveAll (exerciseDir )
111+ err = os .Mkdir (exerciseDir , os .ModePerm )
112+ assert .NoError (t , err )
113+
114+ defer os .Chdir (currentDir )
115+ err = os .Chdir (exerciseDir )
116+ assert .NoError (t , err )
117+
118+ exercismDir := filepath .Join ("." , ".exercism" )
119+ err = os .Mkdir (exercismDir , os .ModePerm )
120+ assert .NoError (t , err )
121+
122+ f , err := os .Create (filepath .Join (exercismDir , "config.json" ))
123+ assert .NoError (t , err )
124+ defer f .Close ()
125+
126+ _ , err = f .WriteString (`{ "files": { "solution": [ "src/HelloWorld.idr" ], "test": [ "test/src/Main.idr" ] } }` )
127+ assert .NoError (t , err )
128+
129+ testConfig , ok := TestConfigurations ["idris" ]
130+ assert .True (t , ok , "unexpectedly unable to find idris test config" )
131+
132+ cmd , err := testConfig .GetTestCommand ()
133+ assert .NoError (t , err )
134+ assert .Equal (t , cmd , "pack test hello-world" )
135+ }
0 commit comments