diff --git a/lib/xdrgen/compilation.rb b/lib/xdrgen/compilation.rb index 24d260793..6443b5a80 100644 --- a/lib/xdrgen/compilation.rb +++ b/lib/xdrgen/compilation.rb @@ -3,6 +3,7 @@ class Compilation extend Memoist def initialize(source_paths, output_dir:".", language: :ruby, generator: nil, namespace: nil, options: {}) + raise "An empty list of source paths (.x files) provided. At least one source file must be provided to compile." if source_paths.empty? @source_paths = source_paths @output_dir = output_dir @namespace = namespace diff --git a/spec/lib/xdrgen/compilation_spec.rb b/spec/lib/xdrgen/compilation_spec.rb new file mode 100644 index 000000000..acafe365d --- /dev/null +++ b/spec/lib/xdrgen/compilation_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe Xdrgen::Compilation do + it "errors on empty list of source paths" do + expect { + Xdrgen::Compilation.new( + [], # Empty list of source paths + output_dir: "output_dir/", + generator: TestGenerator, + namespace: "namespace", + options: { option: true } + ) + }.to raise_error(/empty list of source paths/) + end +end + +class TestGenerator < Xdrgen::Generators::Base + def generate; end +end