The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#! /usr/bin/env perl

use strict;
use warnings;

# get rid of warnings
use Class::C3;
use MRO::Compat;


use Tapper::Model 'model';

use Data::Dumper;
use Test::Fixture::DBIC::Schema;
use Tapper::Producer::Temare;



use Test::More 0.88;
use Test::Deep;
use Test::MockModule;
use Devel::Backtrace;

                $SIG{INT} = sub {
                        $SIG{INT}='ignore'; # not reentrant, don't handle signal twice
                        my $backtrace = Devel::Backtrace->new(-start=>2, -format => '%I. %s');

                        print $backtrace;

                        exit -1;
                };

use Tapper::Schema::TestTools;
BEGIN{
        # --------------------------------------------------------------------------------
        construct_fixture( schema  => testrundb_schema,  fixture => 't/fixtures/testrundb/testrun_with_circle.yml' );
        #--------------------------------------------------------------------------------
}
use aliased 'Tapper::MCP::Scheduler::Controller';
use aliased 'Tapper::MCP::Scheduler::Algorithm';
use aliased 'Tapper::MCP::Scheduler::Algorithm::WFQ';


my $algorithm = Algorithm->new_with_traits ( traits => [WFQ] );
my $scheduler = Controller->new (algorithm => $algorithm);

# --------------------------------------------------

my $mock = new Test::MockModule('Tapper::Schema::TestrunDB::Result::TestrunScheduling');
$mock->mock('produce_preconditions',sub{return 0;});


my $next_job;
my @jobqueue;
my %jobs;
# Job 1
my $this_job;

        for (my $i=0; $i<2; $i++) {

                $next_job   = $scheduler->get_next_job();
                if ($next_job) {
                        $scheduler->mark_job_as_running($next_job);
                        $jobs{$next_job->queue->name}++;
                        $scheduler->mark_job_as_finished($next_job);
                } else {
                        $jobs{none}++;
                }

        }
use DDP;
p %jobs;

# is($jobs{Kernel}, 30,'Kernel queue bandwith');
# is($jobs{KVM}, 60,'KVM queue bandwith');
# is($jobs{Xen}, 90, 'Xen queue bandwith');
# is($jobs{none}, undef, 'Always jobs');

ok(1, 'Dummy');

done_testing();