Bug 1442378 - part 5 - make multiple occurrences of the same file fatal; r=jmaher
authorNathan Froyd <froydnj@mozilla.com>
Fri, 02 Mar 2018 08:34:39 -0500
changeset 461338 387dadb053283c2d8a13435dd4e3f3c88811469a
parent 461337 0cf8762fe6d9c8b6eeb9a855a592bba32710b0b9
child 461339 77728b046b9572d38d0c576ca93a07d767c75018
push id1683
push usersfraser@mozilla.com
push dateThu, 26 Apr 2018 16:43:40 +0000
treeherdermozilla-release@5af6cb21869d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1442378
milestone60.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1442378 - part 5 - make multiple occurrences of the same file fatal; r=jmaher We shouldn't really have this problem, and shouting about it early will make sure that we address issues like multiple instances of omni.ja, rather than not recording information that we should have been.
testing/mozharness/mozharness/mozilla/building/buildbase.py
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -1607,27 +1607,24 @@ or run without that action (ie: --no-{ac
                         # We have to be careful here: desktop Firefox installers
                         # contain two omni.ja files: one for the general runtime,
                         # and one for the browser proper.
                         if name == 'omni.ja':
                             containing_dir = os.path.basename(os.path.dirname(path))
                             if containing_dir == 'browser':
                                 name = 'browser-omni.ja'
                         if name in subtests:
-                            # File seen twice in same archive;
-                            # ignore to avoid confusion.
-                            subtests[name] = None
-                        else:
-                            subtests[name] = size
+                            self.fatal('should not see %s (%s) multiple times!'
+                                       % (name, path))
+                        subtests[name] = size
                 for name in subtests:
-                    if subtests[name] is not None:
-                        self.info('Size of %s: %s bytes' % (name,
-                                                            subtests[name]))
-                        size_measurements.append(
-                            {'name': name, 'value': subtests[name]})
+                    self.info('Size of %s: %s bytes' % (name,
+                                                        subtests[name]))
+                    size_measurements.append(
+                        {'name': name, 'value': subtests[name]})
             except:
                 self.info('Unable to search %s for component sizes.' % installer)
                 size_measurements = []
 
         if not installer_size and not size_measurements:
             return
 
         # We want to always collect metrics. But alerts for installer size are