| #!/usr/bin/python |
| from __future__ import print_function |
| from procfs import bitmasklist |
| |
| class bitmasklist_test: |
| # Assume true (passed) until proven false |
| # Many tests can be run, but just one failure is recorded overall here |
| unit_test_result = 0; # Assume true (passed) until proven false |
| |
| def __init__(self, line, nr_entries, expected_result): |
| self.result = 0; # Assume pass |
| self.line = line |
| self.nr_entries = nr_entries # Corresponds to the number of cpus |
| self.expected_result = expected_result |
| |
| # A failure in any single test is recorded as an overall failure |
| def set_unit_test_result(self): |
| if bitmasklist_test.unit_test_result == 1: |
| return |
| if self.result == 1: |
| bitmasklist_test.unit_test_result = 1 |
| return |
| |
| # This is the function that actually runs the test |
| def bitmasklist_test(self): |
| print("\n##################\n") |
| cpu = bitmasklist(self.line, self.nr_entries) |
| print("Converted : ", self.line, "\nto ", cpu) |
| if cpu == self.expected_result: |
| self.result = 0 |
| print("PASS") |
| else: |
| self.result = 1 |
| print("expected : ", self.expected_result) |
| print("FAIL") |
| self.set_unit_test_result() |
| |
| # CPU 2 |
| t = \ |
| bitmasklist_test("00000000,00000000,00000000,00000000,00000000,00000004", 44, [2]) |
| t.bitmasklist_test() |
| |
| # CPU 34 |
| t = \ |
| bitmasklist_test("00000000,00000000,00000000,00000000,00000004,00000000", 44, [34]) |
| t.bitmasklist_test() |
| |
| # CPU 30 |
| t = \ |
| bitmasklist_test("00000000,00000000,00000000,00000000,00000000,40000000", 44, [30]) |
| t.bitmasklist_test() |
| |
| # CPU 0, 32 |
| t = \ |
| bitmasklist_test("00000000,00000000,00000000,00000000,00000001,00000001", 44, [0,32]) |
| t.bitmasklist_test() |
| |
| # cpu 0-15 |
| t = \ |
| bitmasklist_test("ffff", 44, [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) |
| t.bitmasklist_test() |
| |
| #cpu 0-71 |
| t = \ |
| bitmasklist_test("ff,ffffffff,ffffffff", 96, [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71]) |
| t.bitmasklist_test() |
| |
| exit(bitmasklist_test.unit_test_result) |