| OLD | NEW |
| 1 AUTHOR = """ | 1 AUTHOR = """ |
| 2 uril@redhat.com (Uri Lublin) | 2 uril@redhat.com (Uri Lublin) |
| 3 drusso@redhat.com (Dror Russo) | 3 drusso@redhat.com (Dror Russo) |
| 4 mgoldish@redhat.com (Michael Goldish) | 4 mgoldish@redhat.com (Michael Goldish) |
| 5 dhuff@redhat.com (David Huff) | 5 dhuff@redhat.com (David Huff) |
| 6 aeromenk@redhat.com (Alexey Eromenko) | 6 aeromenk@redhat.com (Alexey Eromenko) |
| 7 mburns@redhat.com (Mike Burns) | 7 mburns@redhat.com (Mike Burns) |
| 8 """ | 8 """ |
| 9 TIME = 'SHORT' | 9 TIME = 'SHORT' |
| 10 NAME = 'KVM test' | 10 NAME = 'KVM test' |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 sys.exit(1) | 156 sys.exit(1) |
| 157 | 157 |
| 158 # ---------------------------------------------------------- | 158 # ---------------------------------------------------------- |
| 159 # Get test set (dictionary list) from the configuration file | 159 # Get test set (dictionary list) from the configuration file |
| 160 # ---------------------------------------------------------- | 160 # ---------------------------------------------------------- |
| 161 import kvm_config | 161 import kvm_config |
| 162 | 162 |
| 163 str = """ | 163 str = """ |
| 164 # This string will be parsed after tests.cfg. Make any desired changes to the | 164 # This string will be parsed after tests.cfg. Make any desired changes to the |
| 165 # test configuration here. For example: | 165 # test configuration here. For example: |
| 166 #install|setup: timeout_multiplier = 3 | 166 #install, setup: timeout_multiplier = 3 |
| 167 #only fc8_quick | |
| 168 #display = sdl | 167 #display = sdl |
| 169 """ | 168 """ |
| 170 cfg = kvm_config.config() | |
| 171 filename = os.path.join(pwd, "tests.cfg") | |
| 172 cfg.fork_and_parse(filename, str) | |
| 173 | 169 |
| 174 tests = cfg.get_list() | 170 parser = kvm_config.Parser() |
| 171 parser.parse_file(os.path.join(pwd, "tests.cfg")) |
| 172 parser.parse_string(str) |
| 175 | 173 |
| 174 tests = list(parser.get_dicts()) |
| 176 | 175 |
| 177 # ------------- | 176 # ------------- |
| 178 # Run the tests | 177 # Run the tests |
| 179 # ------------- | 178 # ------------- |
| 180 import kvm_scheduler | 179 import kvm_scheduler |
| 181 from autotest_lib.client.bin import utils | 180 from autotest_lib.client.bin import utils |
| 182 | 181 |
| 183 # total_cpus defaults to the number of CPUs reported by /proc/cpuinfo | 182 # total_cpus defaults to the number of CPUs reported by /proc/cpuinfo |
| 184 total_cpus = utils.count_cpus() | 183 total_cpus = utils.count_cpus() |
| 185 # total_mem defaults to 3/4 of the total memory reported by 'free' | 184 # total_mem defaults to 3/4 of the total memory reported by 'free' |
| 186 total_mem = int(commands.getoutput("free -m").splitlines()[1].split()[1]) * 3/4 | 185 total_mem = int(commands.getoutput("free -m").splitlines()[1].split()[1]) * 3/4 |
| 187 # We probably won't need more workers than CPUs | 186 # We probably won't need more workers than CPUs |
| 188 num_workers = total_cpus | 187 num_workers = total_cpus |
| 189 | 188 |
| 190 # Start the scheduler and workers | 189 # Start the scheduler and workers |
| 191 s = kvm_scheduler.scheduler(tests, num_workers, total_cpus, total_mem, pwd) | 190 s = kvm_scheduler.scheduler(tests, num_workers, total_cpus, total_mem, pwd) |
| 192 job.parallel([s.scheduler], | 191 job.parallel([s.scheduler], |
| 193 *[(s.worker, i, job.run_test) for i in range(num_workers)]) | 192 *[(s.worker, i, job.run_test) for i in range(num_workers)]) |
| 194 | 193 |
| 195 | |
| 196 # create the html report in result dir | 194 # create the html report in result dir |
| 197 reporter = os.path.join(pwd, 'make_html_report.py') | 195 reporter = os.path.join(pwd, 'make_html_report.py') |
| 198 html_file = os.path.join(job.resultdir,'results.html') | 196 html_file = os.path.join(job.resultdir,'results.html') |
| 199 os.system('%s -r %s -f %s -R'%(reporter, job.resultdir, html_file)) | 197 os.system('%s -r %s -f %s -R'%(reporter, job.resultdir, html_file)) |
| OLD | NEW |