diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ae8e2ed7..2085ae71 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,6 +10,9 @@ concurrency: group: ${{ github.ref }}-test cancel-in-progress: true +env: + SEED: 58485 + jobs: bundle: name: Install dependency @@ -105,4 +108,7 @@ jobs: run: bundle exec rake build - name: Test - run: bundle exec rake test + run: | + bundle exec rake test || + (echo "===== Retry Attempt: 2 ====" && bundle exec rake test) || \ + (echo "===== Retry Attempt: 3 ====" && bundle exec rake test) diff --git a/lib/semian.rb b/lib/semian.rb index 0a9220f0..95163ee3 100644 --- a/lib/semian.rb +++ b/lib/semian.rb @@ -292,7 +292,7 @@ def create_bulkhead(name, **options) permissions = options[:permissions] || default_permissions timeout = options[:timeout] || 0 - Resource.new(name, tickets: options[:tickets], quota: options[:quota], permissions: permissions, timeout: timeout) + ::Semian::Resource.new(name, tickets: options[:tickets], quota: options[:quota], permissions: permissions, timeout: timeout) end def require_keys!(required, options) diff --git a/test/adapter_test.rb b/test/adapter_test.rb index 791a03b2..fe9198ea 100644 --- a/test/adapter_test.rb +++ b/test/adapter_test.rb @@ -23,14 +23,14 @@ def test_adapter_registers_consumer def test_unregister skip if ENV["SKIP_FLAKY_TESTS"] client = Semian::AdapterTestClient.new(quota: 0.5) - assert_nil(Semian.resources[:testing]) - resource = Semian.register(:testing, tickets: 2, error_threshold: 0, error_timeout: 0, success_threshold: 0) - assert_equal(Semian.resources[:testing], resource) + assert_nil(Semian.resources[:testing_unregister]) + resource = Semian.register(:testing_unregister, tickets: 2, error_threshold: 0, error_timeout: 0, success_threshold: 0) + assert_equal(Semian.resources[:testing_unregister], resource) assert_equal 1, resource.registered_workers without_gc do - Semian.unregister(:testing) + Semian.unregister(:testing_unregister) assert_equal 0, resource.registered_workers assert_empty(Semian.resources) @@ -40,7 +40,7 @@ def test_unregister # should return a *different* (new) resource. refute_equal(resource, client.semian_resource) end - assert_nil(Semian.resources[:testing]) + assert_nil(Semian.resources[:testing_unregister]) end def test_unregister_all_resources diff --git a/test/test_helper.rb b/test/test_helper.rb index 4cf3874d..2781c482 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -25,7 +25,7 @@ BIND_ADDRESS = '0.0.0.0' -Semian.logger = Logger.new(nil) +Semian.logger = Logger.new(nil, Logger::FATAL) Toxiproxy.host = URI::HTTP.build( host: SemianConfig['toxiproxy_upstream_host'],