~ubuntu-branches/ubuntu/oneiric/checkbox/oneiric-updates

« back to all changes in this revision

Viewing changes to scripts/cpu_scaling_test

  • Committer: Bazaar Package Importer
  • Author(s): Marc Tardif
  • Date: 2010-06-22 10:43:52 UTC
  • Revision ID: james.westby@ubuntu.com-20100622104352-h9t46u2qwwqmkj5o
Tags: 0.10.1
New upstream release (LP: #597295):
* Added support for urwid interface.
* Added sound check test.
* Added document viewer test.
* Added update-manager and nautilus tests.
* Added resolution tests.
* Added sleep tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
297
297
            # Run Load Test
298
298
            self.minimumFrequencyTestTime = self.runLoadTest()
299
299
            if not self.minimumFrequencyTestTime:
 
300
                print "Error: Could not retrieve the minimum frequency test's execution time."
300
301
                success = False
301
 
            print "Minimum frequency load test time: %.2f" % self.minimumFrequencyTestTime
 
302
            else:
 
303
                print "Minimum frequency load test time: %.2f" % self.minimumFrequencyTestTime
302
304
 
303
305
            # Set the CPU speed to it's highest value as above.
304
306
            frequency = self.frequencies[0]
315
317
            # Repeat workload test
316
318
            self.maximumFrequencyTestTime = self.runLoadTest()
317
319
            if not self.maximumFrequencyTestTime:
 
320
                print "Error: Could not retrieve the maximum frequency test's execution time."
318
321
                success = False
319
 
            print "Maximum frequency load test time: %.2f" % self.maximumFrequencyTestTime
 
322
            else:
 
323
                print "Maximum frequency load test time: %.2f" % self.maximumFrequencyTestTime
320
324
 
321
325
            # Verify MHz increase is comparable to time % decrease
322
326
            predictedSpeedup = string.atof(maximumFrequency)/string.atof(minimumFrequency)
326
330
                print "Note: found %s flag, increasing expected speedup by %.1f%%" % (self.idaFlag, self.idaSpeedupFactor)
327
331
                predictedSpeedup = predictedSpeedup*(1.0/(1.0-(self.idaSpeedupFactor/100.0)))
328
332
 
329
 
            measuredSpeedup = self.minimumFrequencyTestTime/self.maximumFrequencyTestTime
330
 
            print ""
331
 
            print "CPU Frequency Speed Up: %.2f" % predictedSpeedup
332
 
            print "Measured Speed Up: %.2f" % measuredSpeedup
333
 
            differenceSpeedUp =  (abs(measuredSpeedup-predictedSpeedup)/predictedSpeedup)*100
334
 
            print "Percentage Difference %.1f%%" % differenceSpeedUp
335
 
            if differenceSpeedUp > self.speedUpTolerance:
336
 
                print "Error: measured speedup vs expected speedup is %.1f%% and is not within %.1f%% margin. " % (differenceSpeedUp, self.speedUpTolerance)
337
 
                success = False
 
333
            if self.minimumFrequencyTestTime and self.maximumFrequencyTestTime:
 
334
                measuredSpeedup = self.minimumFrequencyTestTime/self.maximumFrequencyTestTime
 
335
                print ""
 
336
                print "CPU Frequency Speed Up: %.2f" % predictedSpeedup
 
337
                print "Measured Speed Up: %.2f" % measuredSpeedup
 
338
                differenceSpeedUp =  (abs(measuredSpeedup-predictedSpeedup)/predictedSpeedup)*100
 
339
                print "Percentage Difference %.1f%%" % differenceSpeedUp
 
340
                if differenceSpeedUp > self.speedUpTolerance:
 
341
                    print "Error: measured speedup vs expected speedup is %.1f%% and is not within %.1f%% margin. " % (differenceSpeedUp, self.speedUpTolerance)
 
342
                    success = False
 
343
            else:
 
344
                print "Error: Not enough timing data to calculate speed differences."
338
345
 
339
346
        return success
340
347
 
362
369
            # Repeat workload test
363
370
            onDemandTestTime = self.runLoadTest()
364
371
            if not onDemandTestTime:
 
372
                print "Error: No On Demand load test time available."
365
373
                success = False
366
 
            print "On Demand load test time: %.2f" % onDemandTestTime
 
374
            else:
 
375
                print "On Demand load test time: %.2f" % onDemandTestTime
367
376
 
368
 
            # Compare the timing to the max results from earlier, again time should be within self.speedUpTolerance
369
 
            differenceOnDemandVsMaximum = (abs(onDemandTestTime-self.maximumFrequencyTestTime)/self.maximumFrequencyTestTime)*100
370
 
            print "Percentage Difference vs. maximum frequency: %.1f%%" % differenceOnDemandVsMaximum
371
 
            if differenceOnDemandVsMaximum > self.speedUpTolerance:
372
 
                print "Error: on demand performance vs maximum of %.1f%% is not within %.1f%% margin" % (differenceOnDemandVsMaximum, self.speedUpTolerance)
373
 
                success = False
 
377
            if onDemandTestTime and self.maximumFrequencyTestTime:
 
378
                # Compare the timing to the max results from earlier, again time should be within self.speedUpTolerance
 
379
                differenceOnDemandVsMaximum = (abs(onDemandTestTime-self.maximumFrequencyTestTime)/self.maximumFrequencyTestTime)*100
 
380
                print "Percentage Difference vs. maximum frequency: %.1f%%" % differenceOnDemandVsMaximum
 
381
                if differenceOnDemandVsMaximum > self.speedUpTolerance:
 
382
                    print "Error: on demand performance vs maximum of %.1f%% is not within %.1f%% margin" % (differenceOnDemandVsMaximum, self.speedUpTolerance)
 
383
                    success = False
 
384
            else:
 
385
                print "Error: Not enough timing data to calculate speed differences."
374
386
 
375
387
            # Verify the current speed has returned to the lowest speed again
376
388
            if not self.verifyMinimumFrequency():
404
416
            # Repeat work load test
405
417
            performanceTestTime = self.runLoadTest()
406
418
            if not performanceTestTime:
 
419
                print "Error: No Performance load test time available."
407
420
                success = False
408
 
            print "Performance load test time: %.2f" % performanceTestTime
 
421
            else:
 
422
                print "Performance load test time: %.2f" % performanceTestTime
409
423
 
410
 
            # Compare the timing to the max results
411
 
            differencePerformanceVsMaximum = (abs(performanceTestTime-self.maximumFrequencyTestTime)/self.maximumFrequencyTestTime)*100
412
 
            print "Percentage Difference vs. maximum frequency: %.1f%%" % differencePerformanceVsMaximum
413
 
            if differencePerformanceVsMaximum > self.speedUpTolerance:
414
 
                print "Error: performance setting vs maximum of %.1f%% is not within %.1f%% margin" % (differencePerformanceVsMaximum, self.speedUpTolerance)
415
 
                success = False
 
424
            if performanceTestTime and self.maximumFrequencyTestTime:
 
425
                # Compare the timing to the max results
 
426
                differencePerformanceVsMaximum = (abs(performanceTestTime-self.maximumFrequencyTestTime)/self.maximumFrequencyTestTime)*100
 
427
                print "Percentage Difference vs. maximum frequency: %.1f%%" % differencePerformanceVsMaximum
 
428
                if differencePerformanceVsMaximum > self.speedUpTolerance:
 
429
                    print "Error: performance setting vs maximum of %.1f%% is not within %.1f%% margin" % (differencePerformanceVsMaximum, self.speedUpTolerance)
 
430
                    success = False
 
431
            else:
 
432
                print "Error: Not enough timing data to calculate speed differences."
416
433
 
417
434
        return success
418
435
 
448
465
            # Repeat work load test
449
466
            conservativeTestTime = self.runLoadTest()
450
467
            if not conservativeTestTime:
 
468
                print "Error: No Conservative load test time available."
451
469
                success = False
452
 
            print "Conservative load test time: %.2f" % conservativeTestTime
 
470
            else:
 
471
                print "Conservative load test time: %.2f" % conservativeTestTime
453
472
 
454
 
            # Compare the timing to the max results
455
 
            differenceConservativeVsMinimum = (abs(conservativeTestTime-self.minimumFrequencyTestTime)/self.minimumFrequencyTestTime)*100
456
 
            print "Percentage Difference vs. minimum frequency: %.1f%%" % differenceConservativeVsMinimum
457
 
            if differenceConservativeVsMinimum > self.speedUpTolerance:
458
 
                print "Error: performance setting vs minimum of %.1f%% is not within %.1f%% margin" % (differenceConservativeVsMinimum, self.speedUpTolerance)
459
 
                success = False
 
473
            if conservativeTestTime and self.minimumFrequencyTestTime:
 
474
                # Compare the timing to the max results
 
475
                differenceConservativeVsMinimum = (abs(conservativeTestTime-self.minimumFrequencyTestTime)/self.minimumFrequencyTestTime)*100
 
476
                print "Percentage Difference vs. minimum frequency: %.1f%%" % differenceConservativeVsMinimum
 
477
                if differenceConservativeVsMinimum > self.speedUpTolerance:
 
478
                    print "Error: performance setting vs minimum of %.1f%% is not within %.1f%% margin" % (differenceConservativeVsMinimum, self.speedUpTolerance)
 
479
                    success = False
 
480
            else:
 
481
                print "Error: Not enough timing data to calculate speed differences."
460
482
 
461
483
        return success
462
484