// File: /workspace/github_cpp_makefile_star2_O3/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 %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x9d7(%rip), %r14       # 0x502d
movq %r14, %rdi
xorl %eax, %eax
callq 0x2030
leaq 0xc68(%rip), %rdi       # 0x52cf
xorl %eax, %eax
callq 0x2030
leaq 0x9c4(%rip), %rdi       # 0x5039
xorl %eax, %eax
callq 0x2030
cmpq $0x0, 0x48(%rbx)
je 0x4695
movq 0x20(%rbx), %rsi
leaq 0xc4c(%rip), %rdi       # 0x52da
xorl %eax, %eax
callq 0x2030
movq (%rbx), %rsi
leaq 0xc3f(%rip), %rdi       # 0x52de
xorl %eax, %eax
callq 0x2030
movw $0x100, 0x50(%rbx)      # imm = 0x100
movq 0x58(%rbx), %r12
movq 0x60(%rbx), %r13
cmpq %r12, %r13
je 0x46d1
movq %r12, %r15
movq %r15, %rdi
callq 0x39e4
addq $0x70, %r15
cmpq %r13, %r15
jne 0x46bc
movq %r12, 0x60(%rbx)
callq 0x2040
movq %rax, %r15
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x46fd
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 0x4700
callq *0x40(%rbx)
callq 0x2040
subq %r15, %rax
cvtsi2sd %rax, %xmm0
divsd 0x8f3(%rip), %xmm0      # 0x5008
movsd %xmm0, 0x70(%rbx)
movq 0x58(%rbx), %rax
movq 0x60(%rbx), %rcx
xorl %r15d, %r15d
cmpq %rcx, %rax
je 0x473c
cmpb $0x0, (%rax)
jne 0x4736
movb $0x0, 0x51(%rbx)
incq %r15
addq $0x70, %rax
jmp 0x4725
leaq 0x8f0(%rip), %rdi       # 0x5033
xorl %eax, %eax
callq 0x2030
movq (%rbx), %rsi
movsd 0x70(%rbx), %xmm0
leaq 0xb8a(%rip), %rdi       # 0x52e3
movb $0x1, %al
callq 0x2030
leaq 0x8c0(%rip), %rdi       # 0x5027
cmpb $0x0, 0x51(%rbx)
cmovneq %r14, %rdi
xorl %eax, %eax
callq 0x2030
leaq 0xb84(%rip), %rdi       # 0x5301
movq %r15, %rsi
xorl %eax, %eax
callq 0x2030
movq %r14, %rdi
xorl %eax, %eax
callq 0x2030
movq 0x60(%rbx), %rax
subq 0x58(%rbx), %rax
sarq $0x4, %rax
movabsq $0x6db6db6db6db6db7, %rsi # imm = 0x6DB6DB6DB6DB6DB7
imulq %rax, %rsi
leaq 0xb6a(%rip), %rdi       # 0x531c
xorl %eax, %eax
callq 0x2030
cmpb $0x0, 0x51(%rbx)
jne 0x47d7
leaq 0x861(%rip), %rdi       # 0x5027
xorl %eax, %eax
callq 0x2030
movl $0x2, %edi
callq 0x24bc
leaq 0x85b(%rip), %rdi       # 0x5039
xorl %eax, %eax
callq 0x2030
movb 0x51(%rbx), %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq