[tor-commits] [tor-browser-bundle-testsuite/master] Bug 25101: Generate incremental mars for nightly builds

gk at torproject.org gk at torproject.org
Wed Dec 18 14:10:56 UTC 2019


commit 4261c714139e0d9896d17c92af54747f34bd9f9b
Author: Nicolas Vigier <boklm at torproject.org>
Date:   Tue Dec 10 21:13:10 2019 +0100

    Bug 25101: Generate incremental mars for nightly builds
---
 TBBTestSuite/TestSuite/TorBrowserBuild.pm | 58 +++++++++++++++++++++++++++++++
 tmpl/details_make_incrementals.html       |  1 +
 2 files changed, 59 insertions(+)

diff --git a/TBBTestSuite/TestSuite/TorBrowserBuild.pm b/TBBTestSuite/TestSuite/TorBrowserBuild.pm
index c52d5c4..d391bac 100644
--- a/TBBTestSuite/TestSuite/TorBrowserBuild.pm
+++ b/TBBTestSuite/TestSuite/TorBrowserBuild.pm
@@ -3,9 +3,11 @@ package TBBTestSuite::TestSuite::TorBrowserBuild;
 use strict;
 use parent 'TBBTestSuite::TestSuite::RBMBuild';
 
+use TBBTestSuite::Common qw(run_to_file);
 use TBBTestSuite::GitRepo;
 use File::Copy;
 use IO::CaptureOutput qw(capture_exec);
+use Path::Tiny;
 
 sub description {
     'Tor Browser Build';
@@ -15,6 +17,13 @@ sub type {
     'tor-browser_build';
 };
 
+sub test_types {
+    my $self = shift;
+    my $res = $self->SUPER::test_types();
+    $res->{make_incrementals} = \&make_incrementals;
+    return $res;
+}
+
 sub set_tests {
     my ($testsuite) = @_;
     $testsuite->{tests} = [
@@ -32,6 +41,12 @@ sub set_tests {
             publish_dir => 'nightly-linux-x86_64',
         },
         {
+            name  => 'incrementals-nightly-linux-x86_64',
+            descr => 'create incrementals for tor-browser nightly linux-x86_64',
+            type  => 'make_incrementals',
+            publish_dir => 'nightly-linux-x86_64',
+        },
+        {
             name  => 'nightly-linux-i686',
             descr => 'build tor-browser nightly linux-i686',
             type  => 'rbm_build',
@@ -44,6 +59,12 @@ sub set_tests {
             publish_dir => 'nightly-linux-i686',
         },
         {
+            name  => 'incrementals-nightly-linux-i686',
+            descr => 'create incrementals for tor-browser nightly linux-i686',
+            type  => 'make_incrementals',
+            publish_dir => 'nightly-linux-i686',
+        },
+        {
             name  => 'nightly-windows-i686',
             descr => 'build tor-browser nightly windows-i686',
             type  => 'rbm_build',
@@ -56,6 +77,12 @@ sub set_tests {
             publish_dir => 'nightly-windows-i686',
         },
         {
+            name  => 'incrementals-nightly-windows-i686',
+            descr => 'create incrementals for tor-browser nightly windows-i686',
+            type  => 'make_incrementals',
+            publish_dir => 'nightly-windows-i686',
+        },
+        {
             name  => 'nightly-windows-x86_64',
             descr => 'build tor-browser nightly windows-x86_64',
             type  => 'rbm_build',
@@ -68,6 +95,12 @@ sub set_tests {
             publish_dir => 'nightly-windows-x86_64',
         },
         {
+            name  => 'incrementals-nightly-windows-x86_64',
+            descr => 'create incrementals for tor-browser nightly windows-x86_64',
+            type  => 'make_incrementals',
+            publish_dir => 'nightly-windows-x86_64',
+        },
+        {
             name  => 'nightly-osx-x86_64',
             descr => 'build tor-browser nightly osx-x86_64',
             type  => 'rbm_build',
@@ -80,6 +113,12 @@ sub set_tests {
             publish_dir => 'nightly-osx-x86_64',
         },
         {
+            name  => 'incrementals-nightly-osx-x86_64',
+            descr => 'create incrementals for tor-browser nightly osx-x86_64',
+            type  => 'make_incrementals',
+            publish_dir => 'nightly-osx-x86_64',
+        },
+        {
             name  => 'nightly-android-armv7',
             descr => 'build tor-browser nightly android-armv7',
             type  => 'rbm_build',
@@ -130,6 +169,25 @@ sub set_tests {
     ];
 }
 
+sub make_incrementals {
+    my ($testsuite, $test) = @_;
+    $test->{results}{success} = 0;
+    mkdir 'nightly' unless -d 'nightly';
+    # Clean the nightly directory
+    foreach my $subdir (path('nightly')->children) {
+        unlink $subdir if -l $subdir;
+    }
+    foreach my $builddir (path($testsuite->{publish_dir} . '/..')->children) {
+        if (-f "$builddir/$test->{publish_dir}/sha256sums-unsigned-build.txt") {
+            symlink("$builddir/$test->{publish_dir}", 'nightly/' . $builddir->basename);
+        }
+    }
+    my @cmd = ('make', 'incrementals-nightly');
+    run_to_file("$testsuite->{'results-dir'}/$test->{name}.build.txt", @cmd)
+        or return;
+    $test->{results}{success} = 1;
+}
+
 sub pre_tests {
     my ($tbbinfos) = @_;
     my $gr = TBBTestSuite::GitRepo->new({
diff --git a/tmpl/details_make_incrementals.html b/tmpl/details_make_incrementals.html
new file mode 120000
index 0000000..d9bb49c
--- /dev/null
+++ b/tmpl/details_make_incrementals.html
@@ -0,0 +1 @@
+details_rbm_build.html
\ No newline at end of file





More information about the tor-commits mailing list