From c23a5678ee89d86b5a57fc65633e3770b6fd6d23 Mon Sep 17 00:00:00 2001 From: Leigh McCulloch <351529+leighmcculloch@users.noreply.github.com> Date: Tue, 20 May 2025 09:03:03 +1000 Subject: [PATCH 1/2] validate source paths before compilation --- lib/xdrgen/compilation.rb | 1 + 1 file changed, 1 insertion(+) 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 From 3bec1a2e15e53e08e1d0ff060fee55654a693274 Mon Sep 17 00:00:00 2001 From: Leigh McCulloch <351529+leighmcculloch@users.noreply.github.com> Date: Tue, 20 May 2025 09:18:52 +1000 Subject: [PATCH 2/2] add spec for empty source paths validation --- spec/lib/xdrgen/compilation_spec.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 spec/lib/xdrgen/compilation_spec.rb 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