[lldb-dev] lldb tests

Enrico Granata egranata at apple.com
Wed Mar 28 08:09:04 PDT 2012


Hi.
Not sure what's wrong:

Enricos-MacBook-Pro:test egranata$ make -C functionalities/data-formatter/data-formatter-stl/libcxx/map
clang++ -gdwarf-2 -O0   -arch x86_64 -stdlib=libc++ -O0   -c -o main.o main.cpp
clang++ -gdwarf-2 -O0   -arch x86_64  -stdlib=libc++  main.o  -o "a.out"
dsymutil  -o "a.out.dSYM" "a.out"
Enricos-MacBook-Pro:test egranata$ ./dotest.py -A x86_64 -C clang -v -t -f LibcxxMapDataFormatterTestCase.data_formatter_commands
LLDB build dir: /Volumes/work/egranata/lldb/build/Debug
LLDB-135
Path: /Volumes/work/egranata/lldb
URL: https://enrico@llvm.org/svn/llvm-project/lldb/trunk
Repository Root: https://enrico@llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 153542
Node Kind: directory
Schedule: normal
Last Changed Author: enrico
Last Changed Rev: 153541
Last Changed Date: 2012-03-27 14:49:20 -0700 (Tue, 27 Mar 2012)



Session logs for test failures/errors/unexpected successes will go into directory '2012-03-28-08_07_33'
Command invoked: python ./dotest.py -A x86_64 -C clang -v -t -f LibcxxMapDataFormatterTestCase.data_formatter_commands
compilers=['clang']

Configuration: arch=x86_64 compiler=clang
----------------------------------------------------------------------
Collected 1 test

Change dir to: /Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map
1: data_formatter_commands (TestDataFormatterLibccMap.LibcxxMapDataFormatterTestCase)
   Test that that file and class static variables display correctly. ... runCmd: file a.out
output: Current executable set to 'a.out' (x86_64).


runCmd: breakpoint set -f main.cpp -l 18
output: Breakpoint created: 1: file ='main.cpp', line = 18, locations = 2


Expecting start string: Breakpoint created: 1: file ='main.cpp', line = 18
Matched

runCmd: run
output: Process 63894 launched: '/Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/a.out' (x86_64)


runCmd: thread list
output: Process 63894 stopped
* thread #1: tid = 0x1f03, 0x0000000100001272 a.out`main + 50 at main.cpp:18, stop reason = breakpoint 1.1


Expecting sub string: stopped
Matched

Expecting sub string: stop reason = breakpoint
Matched

Adding tearDown hook:         def cleanup():
            self.runCmd('type format clear', check=False)
            self.runCmd('type summary clear', check=False)
            self.runCmd('type filter clear', check=False)
            self.runCmd('type synth clear', check=False)
            self.runCmd("settings set target.max-children-count 256", check=False)


runCmd: image list
output: [  0] 5C5C5498-A95A-32CC-9A48-353CFF04179A 0x0000000100000000 /Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/a.out 
      /Volumes/work/egranata/lldb/test/functionalities/data-formatter/data-formatter-stl/libcxx/map/a.out.dSYM/Contents/Resources/DWARF/a.out
[  1] 0CD1B35B-A28F-32DA-B72E-452EAD609613 0x00007fff5fc00000 /usr/lib/dyld 
[  2] C0EFFF1B-0FEB-3F99-BE54-506B35B555A9 0x00007fff90339000 /usr/lib/libc++.1.dylib 
[  3] 7BEBB139-50BB-3112-947A-F4AA168F991C 0x00007fff91f4e000 /usr/lib/libSystem.B.dylib 
[  4] 8FF3D766-D678-36F6-84AC-423C878E6D14 0x00007fff9030e000 /usr/lib/libc++abi.dylib 
[  5] B7757E2E-5A7D-362E-AB71-785FE79E1527 0x00007fff94222000 /usr/lib/system/libcache.dylib 
[  6] A5B9778E-11C3-3F61-B740-1F2114E967FB 0x00007fff8af52000 /usr/lib/system/libcommonCrypto.dylib 
[  7] 98ECD5F6-E85C-32A5-98CD-8911230CB66A 0x00007fff8bfe9000 /usr/lib/system/libcompiler_rt.dylib 
[  8] 172B1985-F24A-34E9-8D8B-A2403C9A0399 0x00007fff8e58e000 /usr/lib/system/libcopyfile.dylib 
[  9] 712AAEAC-AD90-37F7-B71F-293FF8AE8723 0x00007fff8db82000 /usr/lib/system/libdispatch.dylib 
[ 10] 718A135F-6349-354A-85D5-430B128EFD57 0x00007fff89059000 /usr/lib/system/libdnsinfo.dylib 
[ 11] F1903B7A-D3FF-3390-909A-B24E09BAD1A5 0x00007fff9489d000 /usr/lib/system/libdyld.dylib 
[ 12] 61EFED6A-A407-301E-B454-CD18314F0075 0x00007fff8afbf000 /usr/lib/system/libkeymgr.dylib 
[ 13] 39EF04F2-7F0C-3435-B785-BF283727FFBD 0x00007fff8e39f000 /usr/lib/system/liblaunch.dylib 
[ 14] D86F63EC-D2BD-32E0-8955-08B5EAFAD2CC 0x00007fff8e398000 /usr/lib/system/libmacho.dylib 
[ 15] FF83AFF7-42B2-306E-90AF-D539C51A4542 0x00007fff8dbdb000 /usr/lib/system/libmathCommon.A.dylib 
[ 16] 48656562-FF20-3B55-9F93-407ACA7341C0 0x00007fff8dc20000 /usr/lib/system/libquarantine.dylib 
[ 17] 739E6C83-AA52-3C6C-A680-B37FE2888A04 0x00007fff8e576000 /usr/lib/system/libremovefile.dylib 
[ 18] 8BCA214A-8992-34B2-A8B9-B74DEACA1869 0x00007fff8e396000 /usr/lib/system/libsystem_blocks.dylib 
[ 19] FF69F06E-0904-3C08-A5EF-536FAFFFDC22 0x00007fff9524c000 /usr/lib/system/libsystem_c.dylib 
[ 20] 7749128E-D0C5-3832-861C-BC9913F774FA 0x00007fff951aa000 /usr/lib/system/libsystem_dnssd.dylib 
[ 21] 35F90252-2AE1-32C5-8D34-782C614D9639 0x00007fff9400b000 /usr/lib/system/libsystem_info.dylib 
[ 22] 69F2F501-72D8-3B3B-8357-F4418B3E1348 0x00007fff945a5000 /usr/lib/system/libsystem_kernel.dylib 
[ 23] 5DE7024E-1D2D-34A2-80F4-08326331A75B 0x00007fff959f7000 /usr/lib/system/libsystem_network.dylib 
[ 24] A4D651E3-D1C6-3934-AD49-7A104FD14596 0x00007fff89b58000 /usr/lib/system/libsystem_notify.dylib 
[ 25] 5087ADAD-D34D-3844-9D04-AFF93CED3D92 0x00007fff8cf42000 /usr/lib/system/libsystem_sandbox.dylib 
[ 26] C67B3B14-866C-314F-87FF-8025BEC2CAAC 0x00007fff902a6000 /usr/lib/system/libunc.dylib 
[ 27] 1E9C6C8C-CBE8-3F4B-A5B5-E03E3AB53231 0x00007fff9485b000 /usr/lib/system/libunwind.dylib 
[ 28] 26C05F31-E809-3B47-AF42-1460971E3AC3 0x00007fff8af95000 /usr/lib/system/libxpc.dylib 


Expecting sub string: libc++.1.dylib
Matched

Expecting sub string: libc++abi.dylib
Matched

runCmd: frame variable ii -T
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) ii = size=0 {}


runCmd: type summary add -x "std::__1::map<" --summary-string "map has ${svar%#} items" -e
output: 

runCmd: frame variable ii
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) ii = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame variable ii
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) ii = map has 2 items {
  [0] = {
    first = 0
    second = 0
  }
  [1] = {
    first = 1
    second = 1
  }
}


Expecting sub string: map has 2 items
Matched

Expecting sub string: [0] = {
Matched

Expecting sub string: first = 0
Matched

Expecting sub string: second = 0
Matched

Expecting sub string: [1] = {
Matched

Expecting sub string: first = 1
Matched

Expecting sub string: second = 1
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame variable ii
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) ii = map has 4 items {
  [0] = {
    first = 0
    second = 0
  }
  [1] = {
    first = 1
    second = 1
  }
  [2] = {
    first = 2
    second = 0
  }
  [3] = {
    first = 3
    second = 1
  }
}


Expecting sub string: map has 4 items
Matched

Expecting sub string: [2] = {
Matched

Expecting sub string: first = 2
Matched

Expecting sub string: second = 0
Matched

Expecting sub string: [3] = {
Matched

Expecting sub string: first = 3
Matched

Expecting sub string: second = 1
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame select 0
output: frame #0: 0x0000000100001422 a.out`main + 482 at main.cpp:26
a.out`main + 482 at main.cpp:26:
-> 0x100001422:  movl   $85, -868(%rbp)          
   0x10000142c:  leaq   -868(%rbp), %rsi         
   0x100001433:  leaq   -808(%rbp), %rdi         
   0x10000143a:  callq  0x10000b416               ; std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, int> > >::operator[](int const&)


runCmd: frame variable ii
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) ii = map has 8 items {
  [0] = {
    first = 0
    second = 0
  }
  [1] = {
    first = 1
    second = 1
  }
  [2] = {
    first = 2
    second = 0
  }
  [3] = {
    first = 3
    second = 1
  }
  [4] = {
    first = 4
    second = 0
  }
  [5] = {
    first = 5
    second = 1
  }
  [6] = {
    first = 6
    second = 0
  }
  [7] = {
    first = 7
    second = 1
  }
}


Expecting sub string: map has 8 items
Matched

Expecting sub string: [5] = {
Matched

Expecting sub string: first = 5
Matched

Expecting sub string: second = 0
Matched

Expecting sub string: [7] = {
Matched

Expecting sub string: first = 7
Matched

Expecting sub string: second = 1
Matched

runCmd: p ii
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) $0 = map has 8 items {
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [0] = {
    (int) first = 0
    (int) second = 0
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [1] = {
    (int) first = 1
    (int) second = 1
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [2] = {
    (int) first = 2
    (int) second = 0
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [3] = {
    (int) first = 3
    (int) second = 1
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [4] = {
    (int) first = 4
    (int) second = 0
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [5] = {
    (int) first = 5
    (int) second = 1
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [6] = {
    (int) first = 6
    (int) second = 0
  }
  (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [7] = {
    (int) first = 7
    (int) second = 1
  }
}


Expecting sub string: map has 8 items
Matched

Expecting sub string: [5] = {
Matched

Expecting sub string: first = 5
Matched

Expecting sub string: second = 0
Matched

Expecting sub string: [7] = {
Matched

Expecting sub string: first = 7
Matched

Expecting sub string: second = 1
Matched

runCmd: frame variable ii[0]
output: (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) [0] = {
  first = 0
  second = 0
}


Expecting sub string: first = 0
Matched

Expecting sub string: second = 0
Matched

runCmd: frame variable ii[3]
output: (std::__1::__tree_node<std::__1::pair<int, int>, void *>::value_type) ii[3] = {
  first = 3
  second = 1
}


Expecting sub string: first =
Matched

Expecting sub string: second =
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame select 0
output: frame #0: 0x000000010000151f a.out`main + 735 at main.cpp:32
a.out`main + 735 at main.cpp:32:
-> 0x10000151f:  leaq   -896(%rbp), %rdi         
   0x100001526:  leaq   -928(%rbp), %rsi         
   0x10000152d:  callq  0x10000b3b6               ; std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
   0x100001532:  movq   %rax, -1320(%rbp)        


runCmd: frame variable ii
output: (std::__1::map<int, int, std::__1::less<int>, std::__1::allocator<pair<const int, int> > >) ii = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: frame variable si -T
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, int> > >) si = map has 0 items {}


runCmd: frame variable si
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, int> > >) si = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame select 0
output: frame #0: 0x00000001000015e0 a.out`main + 928 at string:1781
   1778	{
   1779	#ifdef _LIBCPP_DEBUG
   1780	    assert(__s != 0);
-> 1781	#endif
   1782	    __init(__s, traits_type::length(__s));
   1783	}
   1784	


runCmd: frame variable si
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, int> > >) si = map has 1 items {
  [0] = {
    first = "zero"
    second = 0
  }
}


Expecting sub string: map has 1 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: first = "zero"
Matched

Expecting sub string: second = 0
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame select 0
output: frame #0: 0x000000010000189f a.out`main + 1631 at main.cpp:36
a.out`main + 1631 at main.cpp:36:
-> 0x10000189f:  leaq   -896(%rbp), %rdi         
   0x1000018a6:  leaq   -1024(%rbp), %rsi        
   0x1000018ad:  callq  0x10000b3b6               ; std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
   0x1000018b2:  movq   %rax, -1448(%rbp)        


runCmd: frame variable si
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, int> > >) si = map has 4 items {
  [0] = {
    first = "one"
    second = 1
  }
  [1] = {
    first = "three"
    second = 3
  }
  [2] = {
    first = "two"
    second = 2
  }
  [3] = {
    first = "zero"
    second = 0
  }
}


Expecting sub string: map has 4 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: first = "zero"
Matched

Expecting sub string: second = 0
Matched

Expecting sub string: [1] = 
Matched

Expecting sub string: first = "one"
Matched

Expecting sub string: second = 1
Matched

Expecting sub string: [2] = 
Matched

Expecting sub string: first = "two"
Matched

Expecting sub string: second = 2
Matched

Expecting sub string: [3] = 
Matched

Expecting sub string: first = "three"
Matched

Expecting sub string: second = 3
Matched

runCmd: p si
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, int> > >) $1 = map has 4 items {
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void *>::value_type) [0] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "one"
    (int) second = 1
  }
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void *>::value_type) [1] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "three"
    (int) second = 3
  }
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void *>::value_type) [2] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "two"
    (int) second = 2
  }
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void *>::value_type) [3] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "zero"
    (int) second = 0
  }
}


Expecting sub string: map has 4 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: first = "zero"
Matched

Expecting sub string: second = 0
Matched

Expecting sub string: [1] = 
Matched

Expecting sub string: first = "one"
Matched

Expecting sub string: second = 1
Matched

Expecting sub string: [2] = 
Matched

Expecting sub string: first = "two"
Matched

Expecting sub string: second = 2
Matched

Expecting sub string: [3] = 
Matched

Expecting sub string: first = "three"
Matched

Expecting sub string: second = 3
Matched

runCmd: frame variable si[0]
output: (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int>, void *>::value_type) [0] = {
  first = "one"
  second = 1
}


Expecting sub string: first = 
Matched

Expecting sub string: one
Matched

Expecting sub string: second = 1
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame variable si
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, int> > >) si = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: n
output: Process 63894 stopped


runCmd: frame variable is -T
output: (std::__1::map<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<int>, std::__1::allocator<pair<const int, std::__1::basic_string<char> > > >) is = map has 0 items {}


runCmd: frame variable is
output: (std::__1::map<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<int>, std::__1::allocator<pair<const int, std::__1::basic_string<char> > > >) is = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame variable is
output: (std::__1::map<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<int>, std::__1::allocator<pair<const int, std::__1::basic_string<char> > > >) is = map has 4 items {
  [0] = {
    first = 1
    second = "is"
  }
  [1] = {
    first = 2
    second = "smart"
  }
  [2] = {
    first = 3
    second = "!!!"
  }
  [3] = {
    first = 85
    second = "goofy"
  }
}


Expecting sub string: map has 4 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: second = "goofy"
Matched

Expecting sub string: first = 85
Matched

Expecting sub string: [1] = 
Matched

Expecting sub string: second = "is"
Matched

Expecting sub string: first = 1
Matched

Expecting sub string: [2] = 
Matched

Expecting sub string: second = "smart"
Matched

Expecting sub string: first = 2
Matched

Expecting sub string: [3] = 
Matched

Expecting sub string: second = "!!!"
Matched

Expecting sub string: first = 3
Matched

runCmd: p is
output: (std::__1::map<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<int>, std::__1::allocator<pair<const int, std::__1::basic_string<char> > > >) $2 = map has 4 items {
  (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [0] = {
    (int) first = 1
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "is"
  }
  (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [1] = {
    (int) first = 2
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "smart"
  }
  (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [2] = {
    (int) first = 3
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "!!!"
  }
  (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [3] = {
    (int) first = 85
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "goofy"
  }
}


Expecting sub string: map has 4 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: second = "goofy"
Matched

Expecting sub string: first = 85
Matched

Expecting sub string: [1] = 
Matched

Expecting sub string: second = "is"
Matched

Expecting sub string: first = 1
Matched

Expecting sub string: [2] = 
Matched

Expecting sub string: second = "smart"
Matched

Expecting sub string: first = 2
Matched

Expecting sub string: [3] = 
Matched

Expecting sub string: second = "!!!"
Matched

Expecting sub string: first = 3
Matched

runCmd: frame variable is[0]
output: (std::__1::__tree_node<std::__1::pair<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [0] = {
  first = 1
  second = "is"
}


Expecting sub string: first = 
Matched

Expecting sub string: second =
Matched

runCmd: n
output: Process 63894 stopped


runCmd: frame variable is
output: (std::__1::map<int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<int>, std::__1::allocator<pair<const int, std::__1::basic_string<char> > > >) is = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame variable ss -T
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >) ss = map has 0 items {}


runCmd: frame variable ss
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >) ss = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame select 0
output: frame #0: 0x0000000100001e10 a.out`main + 3024 at string:1781
   1778	{
   1779	#ifdef _LIBCPP_DEBUG
   1780	    assert(__s != 0);
-> 1781	#endif
   1782	    __init(__s, traits_type::length(__s));
   1783	}
   1784	


runCmd: frame variable ss
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >) ss = map has 3 items {
  [0] = {
    first = "casa"
    second = "house"
  }
  [1] = {
    first = "ciao"
    second = "hello"
  }
  [2] = {
    first = "gatto"
    second = "cat"
  }
}


Expecting sub string: map has 3 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: second = "hello"
Matched

Expecting sub string: first = "ciao"
Matched

Expecting sub string: [1] = 
Matched

Expecting sub string: second = "house"
Matched

Expecting sub string: first = "casa"
Matched

Expecting sub string: [2] = 
Matched

Expecting sub string: second = "cat"
Matched

Expecting sub string: first = "gatto"
Matched

runCmd: p ss
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >) $3 = map has 3 items {
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [0] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "casa"
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "house"
  }
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [1] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "ciao"
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "hello"
  }
  (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) [2] = {
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) first = "gatto"
    (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) second = "cat"
  }
}


Expecting sub string: map has 3 items
Matched

Expecting sub string: [0] = 
Matched

Expecting sub string: second = "hello"
Matched

Expecting sub string: first = "ciao"
Matched

Expecting sub string: [1] = 
Matched

Expecting sub string: second = "house"
Matched

Expecting sub string: first = "casa"
Matched

Expecting sub string: [2] = 
Matched

Expecting sub string: second = "cat"
Matched

Expecting sub string: first = "gatto"
Matched

runCmd: frame variable ss[2]
output: (std::__1::__tree_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void *>::value_type) ss[2] = {
  first = "gatto"
  second = "cat"
}


Expecting sub string: gatto
Matched

Expecting sub string: cat
Matched

runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: n
output: Process 63894 stopped


runCmd: frame select 0
output: frame #0: 0x0000000100001eb7 a.out`main + 3191 at main.cpp:59
a.out`main + 3191 at main.cpp:59:
-> 0x100001eb7:  movq   -1680(%rbp), %rdi        
   0x100001ebe:  callq  0x10000b37a               ; std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::~map()
   0x100001ec3:  jmpq   413                      
   0x100001ec8:  movl   %edx, %ecx               


runCmd: frame variable ss
output: (std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<pair<const std::__1::basic_string<char>, std::__1::basic_string<char> > > >) ss = map has 0 items {}


Expecting sub string: map has 0 items
Matched

Expecting sub string: {}
Matched

Executing tearDown hook:         def cleanup():
            self.runCmd('type format clear', check=False)
            self.runCmd('type summary clear', check=False)
            self.runCmd('type filter clear', check=False)
            self.runCmd('type synth clear', check=False)
            self.runCmd("settings set target.max-children-count 256", check=False)


runCmd: type format clear
check of return status not required
output: 

runCmd: type summary clear
check of return status not required
output: 

runCmd: type filter clear
check of return status not required
output: 

runCmd: type synth clear
check of return status not required
output: 

runCmd: settings set target.max-children-count 256
check of return status not required
output: 

<bound method SBProcess.Kill of <lldb.SBProcess; proxy of <Swig Object of type 'lldb::SBProcess *' at 0x105db4210> >>: success

ok

os command: [['/bin/sh', '-c', 'make clean']]
with pid: 63898
stdout: rm -rf "a.out" "a.out.dSYM"  main.o main.d  

stderr: 
retcode: 0


Restore dir to: /Volumes/work/egranata/lldb/test

----------------------------------------------------------------------
Ran 1 test in 2.934s

OK
Enricos-MacBook-Pro:test egranata$ 


I would have suggested to check out ToT, but you said you see this failure even with a clean checkout.
Is anyone else on the list seeing this?

- Enrico

On Mar 28, 2012, at 7:25 AM, Filipe Cabecinhas wrote:

> Hi all, 
> 
> I'm trying to run the test suite to check some patches that I've been working on.
> Are the expected failures updated? I have the latest XCode (4.3.2), as well as the latest command line tools.
> 
> This test always hangs, even with a clean checkout (it seemed to me that it was due to an infinite loop in the type summary):
> 
> cd lldb/test
> make -C functionalities/data-formatter/data-formatter-stl/libcxx/map
> ./dotest.py -A x86_64 -C clang -v -t -f LibcxxMapDataFormatterTestCase.data_formatter_commands
> 
> Regards,
> 
> 
>  Filipe
> 
> <Failure-TestDataFormatterLibccMap.LibcxxMapDataFormatterTestCase.data_formatter_commands.log>_______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20120328/e4857365/attachment.html>


More information about the lldb-dev mailing list