// File: wagnerflo[P]inipp/tests.cc
// Function: malformed::test_method()
BOOST_AUTO_TEST_CASE( malformed )
{
  // we use a single ifstream
  std::ifstream cstream("tests-malformed.conf");

  // The test config has two lines with distinct errors on them. So we
  // construct a inipp::inifile twice without rewinding the ifstream
  // in between. Both times an error should be thrown.
  BOOST_REQUIRE_THROW(inipp::inifile cfile(cstream), inipp::syntax_error);
  BOOST_REQUIRE_THROW(inipp::inifile cfile(cstream), inipp::syntax_error);

  // But no error afterwards.
  BOOST_REQUIRE_NO_THROW(inipp::inifile cfile(cstream));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x6c0, %rsp            # imm = 0x6C0
movq %rdi, -0x18(%rbp)
leaq -0x220(%rbp), %rdi
leaq 0x8aaec(%rip), %rsi     # 0xbfda9
movl $0x8, %edx
callq 0x10b20
movq 0xe372a(%rip), %rax     # 0x1189f8
movq %rax, -0x618(%rbp)
leaq 0x8a589(%rip), %rsi     # 0xbf865
leaq -0x230(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x352ef
leaq -0x250(%rbp), %rdi
callq 0x4c810
jmp 0x352fd
movq -0x618(%rbp), %rdi
leaq -0x230(%rbp), %rsi
movl $0x61, %edx
leaq -0x250(%rbp), %rcx
callq 0x29720
jmp 0x3531e
leaq -0x2b0(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x5b140
jmp 0x35333
jmp 0x35335
movq 0xe36bc(%rip), %rax     # 0x1189f8
movq %rax, -0x620(%rbp)
leaq 0x8a51b(%rip), %rsi     # 0xbf865
leaq -0x2c0(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x3535d
leaq -0x2d0(%rbp), %rdi
callq 0x4c810
jmp 0x3536b
movq -0x620(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
movl $0x61, %edx
leaq -0x2d0(%rbp), %rcx
callq 0x29720
jmp 0x3538c
leaq -0x2e8(%rbp), %rdi
xorl %esi, %esi
callq 0x549f0
jmp 0x3539c
callq 0x4eab0
movq %rax, -0x628(%rbp)
jmp 0x353aa
movq -0x628(%rbp), %rsi
leaq 0x8aa06(%rip), %rdx     # 0xbfdbe
leaq -0x308(%rbp), %rdi
callq 0x5d100
jmp 0x353c6
leaq 0x8a498(%rip), %rsi     # 0xbf865
leaq -0x318(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x353e0
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x2e8(%rbp), %rdi
leaq -0x308(%rbp), %rsi
leaq -0x318(%rbp), %rdx
movl $0x61, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x231f0
jmp 0x35419
leaq -0x308(%rbp), %rdi
callq 0x5d140
leaq -0x2e8(%rbp), %rdi
callq 0x54b20
callq 0x5bc70
movb %al, -0x629(%rbp)
jmp 0x3543e
movb -0x629(%rbp), %al
testb $0x1, %al
jne 0x35335
jmp 0x3544e
leaq -0x2b0(%rbp), %rdi
callq 0x5cf80
jmp 0x35629
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x354d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x354c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x354b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x5d140
leaq -0x2e8(%rbp), %rdi
callq 0x54b20
leaq -0x2b0(%rbp), %rdi
callq 0x5cf80
movl -0x23c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x35e15
movq -0x238(%rbp), %rdi
callq 0x10270
movq %rax, -0x320(%rbp)
movq -0x320(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x35504
movq 0xe34ed(%rip), %rax     # 0x1189f8
movq %rax, -0x638(%rbp)
leaq 0x8a34c(%rip), %rsi     # 0xbf865
leaq -0x330(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x3552c
leaq -0x340(%rbp), %rdi
callq 0x4c810
jmp 0x3553a
movq -0x638(%rbp), %rdi
leaq -0x330(%rbp), %rsi
movl $0x61, %edx
leaq -0x340(%rbp), %rcx
callq 0x29720
jmp 0x3555b
leaq -0x358(%rbp), %rdi
movl $0x1, %esi
callq 0x549f0
jmp 0x3556e
callq 0x4eab0
movq %rax, -0x640(%rbp)
jmp 0x3557c
movq -0x640(%rbp), %rsi
leaq 0x8a86a(%rip), %rdx     # 0xbfdf4
leaq -0x378(%rbp), %rdi
callq 0x5d160
jmp 0x35598
leaq 0x8a2c6(%rip), %rsi     # 0xbf865
leaq -0x388(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x355b2
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x358(%rbp), %rdi
leaq -0x378(%rbp), %rsi
leaq -0x388(%rbp), %rdx
movl $0x61, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x231f0
jmp 0x355eb
leaq -0x378(%rbp), %rdi
callq 0x5d1a0
leaq -0x358(%rbp), %rdi
callq 0x54b20
callq 0x5bc70
movb %al, -0x641(%rbp)
jmp 0x35610
movb -0x641(%rbp), %al
testb $0x1, %al
jne 0x35504
jmp 0x35620
callq 0x109e0
jmp 0x35627
jmp 0x35629
jmp 0x3562b
callq 0x5bc70
movb %al, -0x642(%rbp)
jmp 0x35638
movb -0x642(%rbp), %al
testb $0x1, %al
jne 0x352c7
jmp 0x35648
jmp 0x3564a
movq 0xe33a7(%rip), %rax     # 0x1189f8
movq %rax, -0x650(%rbp)
leaq 0x8a206(%rip), %rsi     # 0xbf865
leaq -0x398(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35672
leaq -0x3a8(%rbp), %rdi
callq 0x4c810
jmp 0x35680
movq -0x650(%rbp), %rdi
leaq -0x398(%rbp), %rsi
movl $0x62, %edx
leaq -0x3a8(%rbp), %rcx
callq 0x29720
jmp 0x356a1
leaq -0x408(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x5b140
jmp 0x356b6
jmp 0x356b8
movq 0xe3339(%rip), %rax     # 0x1189f8
movq %rax, -0x658(%rbp)
leaq 0x8a198(%rip), %rsi     # 0xbf865
leaq -0x418(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x356e0
leaq -0x428(%rbp), %rdi
callq 0x4c810
jmp 0x356ee
movq -0x658(%rbp), %rdi
leaq -0x418(%rbp), %rsi
movl $0x62, %edx
leaq -0x428(%rbp), %rcx
callq 0x29720
jmp 0x3570f
leaq -0x440(%rbp), %rdi
xorl %esi, %esi
callq 0x549f0
jmp 0x3571f
callq 0x4eab0
movq %rax, -0x660(%rbp)
jmp 0x3572d
movq -0x660(%rbp), %rsi
leaq 0x8a683(%rip), %rdx     # 0xbfdbe
leaq -0x460(%rbp), %rdi
callq 0x5d100
jmp 0x35749
leaq 0x8a115(%rip), %rsi     # 0xbf865
leaq -0x470(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35763
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x440(%rbp), %rdi
leaq -0x460(%rbp), %rsi
leaq -0x470(%rbp), %rdx
movl $0x62, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x231f0
jmp 0x3579c
leaq -0x460(%rbp), %rdi
callq 0x5d140
leaq -0x440(%rbp), %rdi
callq 0x54b20
callq 0x5bc70
movb %al, -0x661(%rbp)
jmp 0x357c1
movb -0x661(%rbp), %al
testb $0x1, %al
jne 0x356b8
jmp 0x357d1
leaq -0x408(%rbp), %rdi
callq 0x5cf80
jmp 0x35a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x3584d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35828
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x378(%rbp), %rdi
callq 0x5d1a0
leaq -0x358(%rbp), %rdi
callq 0x54b20
jmp 0x3584d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35e15
callq 0x109e0
jmp 0x35854
jmp 0x35e15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x358cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x358bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x358b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x460(%rbp), %rdi
callq 0x5d140
leaq -0x440(%rbp), %rdi
callq 0x54b20
leaq -0x408(%rbp), %rdi
callq 0x5cf80
movl -0x23c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x35e15
movq -0x238(%rbp), %rdi
callq 0x10270
movq %rax, -0x478(%rbp)
movq -0x478(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x358fe
movq 0xe30f3(%rip), %rax     # 0x1189f8
movq %rax, -0x670(%rbp)
leaq 0x89f52(%rip), %rsi     # 0xbf865
leaq -0x488(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35926
leaq -0x498(%rbp), %rdi
callq 0x4c810
jmp 0x35934
movq -0x670(%rbp), %rdi
leaq -0x488(%rbp), %rsi
movl $0x62, %edx
leaq -0x498(%rbp), %rcx
callq 0x29720
jmp 0x35955
leaq -0x4b0(%rbp), %rdi
movl $0x1, %esi
callq 0x549f0
jmp 0x35968
callq 0x4eab0
movq %rax, -0x678(%rbp)
jmp 0x35976
movq -0x678(%rbp), %rsi
leaq 0x8a470(%rip), %rdx     # 0xbfdf4
leaq -0x4d0(%rbp), %rdi
callq 0x5d160
jmp 0x35992
leaq 0x89ecc(%rip), %rsi     # 0xbf865
leaq -0x4e0(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x359ac
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x4b0(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
leaq -0x4e0(%rbp), %rdx
movl $0x62, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x231f0
jmp 0x359e5
leaq -0x4d0(%rbp), %rdi
callq 0x5d1a0
leaq -0x4b0(%rbp), %rdi
callq 0x54b20
callq 0x5bc70
movb %al, -0x679(%rbp)
jmp 0x35a0a
movb -0x679(%rbp), %al
testb $0x1, %al
jne 0x358fe
jmp 0x35a1a
callq 0x109e0
jmp 0x35a21
jmp 0x35a23
jmp 0x35a25
callq 0x5bc70
movb %al, -0x67a(%rbp)
jmp 0x35a32
movb -0x67a(%rbp), %al
testb $0x1, %al
jne 0x3564a
jmp 0x35a42
jmp 0x35a44
leaq -0x540(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x5b140
jmp 0x35a59
jmp 0x35a5b
movq 0xe2f96(%rip), %rax     # 0x1189f8
movq %rax, -0x688(%rbp)
leaq 0x89df5(%rip), %rsi     # 0xbf865
leaq -0x550(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35a83
leaq -0x560(%rbp), %rdi
callq 0x4c810
jmp 0x35a91
movq -0x688(%rbp), %rdi
leaq -0x550(%rbp), %rsi
movl $0x65, %edx
leaq -0x560(%rbp), %rcx
callq 0x29720
jmp 0x35ab2
leaq -0x578(%rbp), %rdi
movl $0x1, %esi
callq 0x549f0
jmp 0x35ac5
callq 0x4eab0
movq %rax, -0x690(%rbp)
jmp 0x35ad3
movq -0x690(%rbp), %rsi
leaq 0x8a346(%rip), %rdx     # 0xbfe27
leaq -0x598(%rbp), %rdi
callq 0x5d100
jmp 0x35aef
leaq 0x89d6f(%rip), %rsi     # 0xbf865
leaq -0x5a8(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35b09
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x578(%rbp), %rdi
leaq -0x598(%rbp), %rsi
leaq -0x5a8(%rbp), %rdx
movl $0x65, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x231f0
jmp 0x35b42
leaq -0x598(%rbp), %rdi
callq 0x5d140
leaq -0x578(%rbp), %rdi
callq 0x54b20
callq 0x5bc70
movb %al, -0x691(%rbp)
jmp 0x35b67
movb -0x691(%rbp), %al
testb $0x1, %al
jne 0x35a5b
jmp 0x35b77
leaq -0x540(%rbp), %rdi
callq 0x5cf80
jmp 0x35d86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35bda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35bce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x4d0(%rbp), %rdi
callq 0x5d1a0
leaq -0x4b0(%rbp), %rdi
callq 0x54b20
callq 0x109e0
jmp 0x35be1
jmp 0x35e15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35c58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35c4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35c40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x598(%rbp), %rdi
callq 0x5d140
leaq -0x578(%rbp), %rdi
callq 0x54b20
leaq -0x540(%rbp), %rdi
callq 0x5cf80
movq -0x238(%rbp), %rdi
callq 0x10270
movq 0xe2d8d(%rip), %rax     # 0x1189f8
movq %rax, -0x6a0(%rbp)
leaq 0x89bec(%rip), %rsi     # 0xbf865
leaq -0x5b8(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35c8c
leaq -0x5c8(%rbp), %rdi
callq 0x4c810
jmp 0x35c9a
movq -0x6a0(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
movl $0x65, %edx
leaq -0x5c8(%rbp), %rcx
callq 0x29720
jmp 0x35cbb
leaq -0x5e0(%rbp), %rdi
xorl %esi, %esi
callq 0x549f0
jmp 0x35ccb
callq 0x4eab0
movq %rax, -0x6a8(%rbp)
jmp 0x35cd9
movq -0x6a8(%rbp), %rsi
leaq 0x8a176(%rip), %rdx     # 0xbfe5d
leaq -0x600(%rbp), %rdi
callq 0x5ce00
jmp 0x35cf5
leaq 0x89b69(%rip), %rsi     # 0xbf865
leaq -0x610(%rbp), %rdi
movl $0x8, %edx
callq 0x4a730
jmp 0x35d0f
movq %rsp, %rax
movq $0x0, (%rax)
xorl %eax, %eax
leaq -0x5e0(%rbp), %rdi
leaq -0x600(%rbp), %rsi
leaq -0x610(%rbp), %rdx
movl $0x65, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x231f0
jmp 0x35d48
leaq -0x600(%rbp), %rdi
callq 0x5ce40
leaq -0x5e0(%rbp), %rdi
callq 0x54b20
callq 0x5bc70
movb %al, -0x6a9(%rbp)
jmp 0x35d6d
movb -0x6a9(%rbp), %al
testb $0x1, %al
jne 0x35c64
jmp 0x35d7d
callq 0x109e0
jmp 0x35d84
jmp 0x35d86
jmp 0x35d88
callq 0x5bc70
movb %al, -0x6aa(%rbp)
jmp 0x35d95
movb -0x6aa(%rbp), %al
testb $0x1, %al
jne 0x35a44
jmp 0x35da5
leaq -0x220(%rbp), %rdi
callq 0x101a0
addq $0x6c0, %rsp            # imm = 0x6C0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35e0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
jmp 0x35e00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x238(%rbp)
movl %eax, -0x23c(%rbp)
leaq -0x600(%rbp), %rdi
callq 0x5ce40
leaq -0x5e0(%rbp), %rdi
callq 0x54b20
callq 0x109e0
jmp 0x35e13
jmp 0x35e15
leaq -0x220(%rbp), %rdi
callq 0x101a0
movq -0x238(%rbp), %rdi
callq 0x10a90
movq %rax, %rdi
callq 0x4cd20
nopw %cs:(%rax,%rax)