// File: /workspace/github_cpp_makefile_star2_O2/porzell[P]PTest/examples/../include/ptest.hpp
// Function: PTest::PTest::Run()
bool Run() {
			SetConsoleColor(PColor::Green);
			printf("[Running] ");
			SetConsoleColor(PColor::Normal);

			if (fixture_) {
				printf("%s.", fixtureName_.c_str());
			}
			printf("%s:\n", name_.c_str());

			run_ = false;
			succeeded_ = true;
			assertions_.clear();

			auto start = std::chrono::high_resolution_clock::now();

			if (!fixture_) {
				func_();
			}
			else {
				fixture_->Create();
				fixture_->Test();
				fixture_->Destroy();
			}
			auto end = std::chrono::high_resolution_clock::now();

			duration_ = end - start;

			size_t failedAssertionCount = 0;

			for (PAssertion& assertion : assertions_) {
				if (!assertion.GetSuccess()) {
					succeeded_ = false;
					failedAssertionCount++;
				}
			}

			SetConsoleColor(PColor::Blue); printf(" Test '%s' finished. (%f ms)\n", name_.c_str(), duration_.count());
			succeeded_ ? SetConsoleColor(PColor::Green) : SetConsoleColor(PColor::Red);
			printf("   %zu assertions failed.\n", failedAssertionCount);
			SetConsoleColor(PColor::Green); printf("   %zu assertions run.\n", assertions_.size());

			if (!succeeded_) {
				SetConsoleColor(PColor::Red);
				PrintBars();
			}
			SetConsoleColor(PColor::Normal);
			return succeeded_;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0xeb1(%rip), %r14       # 0x502d
movq %r14, %rdi
xorl %eax, %eax
callq 0x2030
leaq 0x1118(%rip), %rdi      # 0x52a5
xorl %eax, %eax
callq 0x2030
leaq 0xe9e(%rip), %rdi       # 0x5039
xorl %eax, %eax
callq 0x2030
cmpq $0x0, 0x48(%rbx)
je 0x41bb
movq 0x20(%rbx), %rsi
leaq 0x10fc(%rip), %rdi      # 0x52b0
xorl %eax, %eax
callq 0x2030
movq (%rbx), %rsi
leaq 0x10ef(%rip), %rdi      # 0x52b4
xorl %eax, %eax
callq 0x2030
movw $0x100, 0x50(%rbx)      # imm = 0x100
leaq 0x58(%rbx), %rdi
callq 0x42f4
callq 0x2040
movq %rax, %r15
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x4207
movq (%rdi), %rax
callq *(%rax)
movq 0x48(%rbx), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq 0x48(%rbx), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x420a
callq *0x40(%rbx)
callq 0x2040
subq %r15, %rax
cvtsi2sd %rax, %xmm0
divsd 0xde9(%rip), %xmm0      # 0x5008
movsd %xmm0, 0x70(%rbx)
movq 0x58(%rbx), %rax
movq 0x60(%rbx), %rcx
xorl %r15d, %r15d
cmpq %rcx, %rax
je 0x4246
cmpb $0x0, (%rax)
jne 0x4240
movb $0x0, 0x51(%rbx)
incq %r15
addq $0x70, %rax
jmp 0x422f
leaq 0xde6(%rip), %rdi       # 0x5033
xorl %eax, %eax
callq 0x2030
movq (%rbx), %rsi
movsd 0x70(%rbx), %xmm0
leaq 0x1056(%rip), %rdi      # 0x52b9
movb $0x1, %al
callq 0x2030
leaq 0xdb6(%rip), %rdi       # 0x5027
cmpb $0x0, 0x51(%rbx)
cmovneq %r14, %rdi
xorl %eax, %eax
callq 0x2030
leaq 0x1050(%rip), %rdi      # 0x52d7
movq %r15, %rsi
xorl %eax, %eax
callq 0x2030
movq %r14, %rdi
xorl %eax, %eax
callq 0x2030
movq 0x60(%rbx), %rax
subq 0x58(%rbx), %rax
pushq $0x70
popq %rcx
cqto
idivq %rcx
leaq 0x1040(%rip), %rdi      # 0x52f2
movq %rax, %rsi
xorl %eax, %eax
callq 0x2030
cmpb $0x0, 0x51(%rbx)
jne 0x42d8
leaq 0xd5e(%rip), %rdi       # 0x5027
xorl %eax, %eax
callq 0x2030
pushq $0x2
popq %rdi
callq 0x23cc
leaq 0xd5a(%rip), %rdi       # 0x5039
xorl %eax, %eax
callq 0x2030
movb 0x51(%rbx), %al
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq