summaryrefslogtreecommitdiffstats
path: root/test/wanna-build
diff options
context:
space:
mode:
Diffstat (limited to 'test/wanna-build')
-rwxr-xr-xtest/wanna-build130
1 files changed, 130 insertions, 0 deletions
diff --git a/test/wanna-build b/test/wanna-build
new file mode 100755
index 0000000..d0ad6db
--- /dev/null
+++ b/test/wanna-build
@@ -0,0 +1,130 @@
+#!/usr/bin/perl
+#
+# This is a fake wanna-build. Its sole purpose is to provide a means
+# to test buildd in isolation, without a full wanna-build database and
+# associated intrastructure. This currently only permits testing of
+# buildd, and not buildd-mail or buildd-uploader.
+#
+
+use strict;
+use warnings;
+
+use Getopt::Long qw(:config no_ignore_case auto_abbrev gnu_getopt);
+
+our $api = 1;
+our $arch = "amd64";
+our $list = undef;
+our $dist = "unstable";
+our $verbose = 0;
+our $command = "take";
+our $user = "buildd";
+our $database = "db";
+
+my @options = (
+ 'api=i' => \$api,
+ 'arch|A=s' => \$arch,
+ 'list|l=s' => sub { $command="list"; $list=$_[1]; },
+ 'dist|d=s' => \$dist,
+ 'verbose|v' => \$verbose,
+ 'building|take' => sub { $command="take" },
+ 'built' => sub { $command="built" },
+ 'attempted' => sub { $command="attempted" },
+ 'needs-build|give-back' => sub { $command="needs-build" },
+ 'info|i' => sub { $command="info" },
+ 'user=s' => \$user,
+ 'database=s' => \$database
+ );
+GetOptions(@options);
+
+my $output = "unknown output for action\n";
+if ($command eq "take") {
+ if ($verbose) {
+ $output = <<"EOF";
+wanna-build c9531211e54a03cff965eebc3fe617ea8539f7ba for sid on amd64
+- bash:
+ - status: ok
+ - pkg-ver: bash_4.2-1
+ - archive: ftp-master
+uupdate transactions: bash sid 4.1-3 --take Installed Building rleigh rleigh
+\$VAR1 = {
+ 'state_days' => '52',
+ 'priority' => 'source',
+ 'rel' => undef,
+ 'state_change' => '2012 Jan 21 16:19:15',
+ 'successtime' => 694,
+ 'permbuildpri' => undef,
+ 'extra_depends' => undef,
+ 'section' => 'shells',
+ 'failed' => undef,
+ 'buildpri' => undef,
+ 'state' => 'Building',
+ 'binary_nmu_changelog' => undef,
+ 'anytime' => 694,
+ 'bd_problem' => undef,
+ 'state_time' => '4510370',
+ 'build_arch_all' => 0,
+ 'version' => '4.1-3',
+ 'package' => 'bash',
+ 'distribution' => 'sid',
+ 'extra_conflicts' => undef,
+ 'installed_version' => '4.2-1',
+ 'notes' => 'out-of-date',
+ 'do_state_change' => 1,
+ 'builder' => 'rleigh',
+ 'old_failed' => undef,
+ 'binary_nmu_version' => undef,
+ 'previous_state' => 'Installed',
+ 'depends' => undef
+ };
+EOF
+ } else {
+ $output = <<"EOF";
+- bash:
+ - status: ok
+ - pkg-ver: bash_4.2-1
+ - archive: ftp-master
+update transactions: bash sid 4.2-1 --take Needs-Build Building rleigh rleigh
+EOF
+ }
+} elsif ($command eq "built") {
+ $output = <<"EOF";
+update transactions: bash sid 4.2-1 --built Building Built rleigh rleigh
+EOF
+} elsif ($command eq "attempted") {
+ $output = <<"EOF";
+update transactions: bash sid 4.2-1 --attempted Building Build-Attempted rleigh rleigh
+EOF
+} elsif ($command eq "needs-build") {
+ $output = <<"EOF";
+update transactions: bash sid 4.2-1 --give-back Building BD-Uninstallable rleigh rleigh
+EOF
+} elsif ($command eq "info") {
+ $output = <<"EOF";
+bash:
+ Package : bash
+ Version : 4.2-1
+ Builder : buildd_amd64-barber
+ State : Needs-Build
+ Section : shells
+ Priority : source
+ Installed-Version : 4.1-3
+ Previous-State : Installed
+ State-Change : 2011-11-30 11:26:24.40323
+ Build-time : 694
+ Build-Arch-All : 0
+ CalculatedPri : 52
+ component : main
+ Distribution : sid
+ Notes : out-of-date
+ State-Days : 52
+ State-Time : 4510444
+ Success-build-time : 694
+EOF
+} elsif ($command eq "list" && $list eq "needs-build") {
+ $output = <<"EOF";
+libs/bash_4.2-1 [optional:out-of-date:calprio{49}:days{0}]
+Total 1 package(s)
+EOF
+}
+
+print "$output";