From 2495654ac0b1d9a4002f8d385d10d2afec784dda Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Thu, 19 Dec 2019 17:14:27 -0600 Subject: hscript: Add 'arch' key implementation and related tests --- tests/fixtures/0223-arch-basic.installfile | 6 ++++++ tests/fixtures/0224-arch-unknown.installfile | 6 ++++++ tests/fixtures/0225-arch-invalid.installfile | 6 ++++++ tests/spec/simulator_spec.rb | 7 +++++++ tests/spec/validator_spec.rb | 18 ++++++++++++++++++ 5 files changed, 43 insertions(+) create mode 100644 tests/fixtures/0223-arch-basic.installfile create mode 100644 tests/fixtures/0224-arch-unknown.installfile create mode 100644 tests/fixtures/0225-arch-invalid.installfile (limited to 'tests') diff --git a/tests/fixtures/0223-arch-basic.installfile b/tests/fixtures/0223-arch-basic.installfile new file mode 100644 index 0000000..21c6e37 --- /dev/null +++ b/tests/fixtures/0223-arch-basic.installfile @@ -0,0 +1,6 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +arch ppc64 diff --git a/tests/fixtures/0224-arch-unknown.installfile b/tests/fixtures/0224-arch-unknown.installfile new file mode 100644 index 0000000..cc457c1 --- /dev/null +++ b/tests/fixtures/0224-arch-unknown.installfile @@ -0,0 +1,6 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +arch hppa diff --git a/tests/fixtures/0225-arch-invalid.installfile b/tests/fixtures/0225-arch-invalid.installfile new file mode 100644 index 0000000..42adb08 --- /dev/null +++ b/tests/fixtures/0225-arch-invalid.installfile @@ -0,0 +1,6 @@ +network false +hostname test.machine +pkginstall adelie-base +rootpw $6$gumtLGmHwOVIRpQR$2M9PUO24hy5mofzWWf9a.YLbzOgOlUby1g0hDj.wG67E2wrrvys59fq02PPdxBdbgkLZFtjfEx6MHZwMBamwu/ +mount /dev/sda1 / +arch Intel x86_64 diff --git a/tests/spec/simulator_spec.rb b/tests/spec/simulator_spec.rb index df2b2ae..67177c2 100644 --- a/tests/spec/simulator_spec.rb +++ b/tests/spec/simulator_spec.rb @@ -156,6 +156,13 @@ printf '%s\\t%s\\t%s\\t%s\\t0\\t0\\n' /dev/gwyn/source /usr/src auto noatime >> expect(last_command_started.stderr).to include("set domain name 'we-sing-it-proudly.new-romantics.club'") end end + context "simulating 'arch' execution" do + it "sets the architecture properly" do + use_fixture '0223-arch-basic.installfile' + run_simulate + expect(last_command_started.stdout).to include("printf 'ppc64\\n' > /target/etc/apk/arch") + end + end context "simulating 'repository' execution" do it "outputs default repositories when none are specified" do use_fixture '0001-basic.installfile' diff --git a/tests/spec/validator_spec.rb b/tests/spec/validator_spec.rb index eea3f2a..ba38563 100644 --- a/tests/spec/validator_spec.rb +++ b/tests/spec/validator_spec.rb @@ -203,6 +203,24 @@ RSpec.describe 'HorizonScript validation', :type => :aruba do expect(last_command_started).to have_output(/error: .*language.*invalid/) end end + context "for 'arch' key" do + it "succeeds with valid architecture" do + use_fixture '0223-arch-basic.installfile' + run_validate + expect(last_command_started).to have_output(PARSER_SUCCESS) + expect(last_command_started).to have_output(VALIDATOR_SUCCESS) + end + it "warns on unrecognised architecture" do + use_fixture '0224-arch-unknown.installfile' + run_validate + expect(last_command_started).to have_output(/warning: .*arch.*unknown CPU/) + end + it "fails on malformed architecture name" do + use_fixture '0225-arch-invalid.installfile' + run_validate + expect(last_command_started).to have_output(/error: .*arch.*expected/) + end + end context "for 'nameserver' key" do it "succeeds with IPv4 and IPv6 addresses" do use_fixture '0183-nameserver-basic.installfile' -- cgit v1.2.3-60-g2f50