Search in sources :

Example 1 with ConfigurationException

use of spock.config.ConfigurationException in project spock by spockframework.

the class ConfigurationScriptLoader method loadScriptFromClassPathLocation.

@Nullable
private DelegatingScript loadScriptFromClassPathLocation(String location) {
    URL url = this.getClass().getClassLoader().getResource(location);
    if (url == null)
        return null;
    GroovyShell shell = createShell();
    try {
        return (DelegatingScript) shell.parse(new GroovyCodeSource(url));
    } catch (IOException e) {
        throw new ConfigurationException("Error reading configuration script '%s'", location);
    } catch (CompilationFailedException e) {
        throw new ConfigurationException("Error compiling configuration script '%s'", location);
    }
}
Also used : ConfigurationException(spock.config.ConfigurationException) DelegatingScript(org.spockframework.builder.DelegatingScript) CompilationFailedException(org.codehaus.groovy.control.CompilationFailedException) IOException(java.io.IOException) URL(java.net.URL) Nullable(org.spockframework.util.Nullable)

Example 2 with ConfigurationException

use of spock.config.ConfigurationException in project spock by spockframework.

the class ConfigurationScriptLoader method loadScriptFromSystemPropertyInducedLocation.

@Nullable
private DelegatingScript loadScriptFromSystemPropertyInducedLocation(String propertyKey) {
    String location = System.getProperty(propertyKey);
    if (location == null || location.length() == 0)
        return null;
    DelegatingScript script = loadScriptFromClassPathLocation(location);
    if (script != null)
        return script;
    script = loadScriptFromFileSystemLocation(location);
    if (script != null)
        return script;
    throw new ConfigurationException("Cannot find configuration script '%s'", location);
}
Also used : ConfigurationException(spock.config.ConfigurationException) DelegatingScript(org.spockframework.builder.DelegatingScript) Nullable(org.spockframework.util.Nullable)

Example 3 with ConfigurationException

use of spock.config.ConfigurationException in project spock by spockframework.

the class ConfigurationScriptLoader method loadScriptFromFileSystemLocation.

@Nullable
private DelegatingScript loadScriptFromFileSystemLocation(String location) {
    File file = new File(location);
    try {
        if (!file.exists())
            return null;
    } catch (AccessControlException e) {
        // so let's just assume it's not there and continue
        return null;
    }
    GroovyShell shell = createShell();
    try {
        return (DelegatingScript) shell.parse(file);
    } catch (IOException e) {
        throw new ConfigurationException("Error reading configuration script '%s'", location);
    } catch (CompilationFailedException e) {
        throw new ConfigurationException("Error compiling configuration script '%s'", location);
    }
}
Also used : ConfigurationException(spock.config.ConfigurationException) DelegatingScript(org.spockframework.builder.DelegatingScript) AccessControlException(java.security.AccessControlException) CompilationFailedException(org.codehaus.groovy.control.CompilationFailedException) IOException(java.io.IOException) File(java.io.File) Nullable(org.spockframework.util.Nullable)

Aggregations

DelegatingScript (org.spockframework.builder.DelegatingScript)3 Nullable (org.spockframework.util.Nullable)3 ConfigurationException (spock.config.ConfigurationException)3 IOException (java.io.IOException)2 CompilationFailedException (org.codehaus.groovy.control.CompilationFailedException)2 File (java.io.File)1 URL (java.net.URL)1 AccessControlException (java.security.AccessControlException)1