See <https://builds.apache.org/job/Thrift-cpp/552/changes>
Changes: [henrique] THRIFT-1957 NodeJS TFramedTransport and TBufferedTransport read bytes as unsigned ------------------------------------------ [...truncated 1056 lines...] [0] = OneOfEach { 01: im_true (bool) = true, 02: im_false (bool) = false, 03: a_bite (byte) = 0x22, 04: integer16 (i16) = 27000, 05: integer32 (i32) = 16777216, 06: integer64 (i64) = 6000000000, 07: double_precision (double) = 3.1415926535897931, 08: some_characters (string) = "Debug THIS!", 09: zomg_unicode (string) = "\xd7\n\a\t", 10: what_who (bool) = false, 11: base64 (string) = "", 12: byte_list (list) = list<byte>[3] { [0] = 0x01, [1] = 0x02, [2] = 0x03, }, 13: i16_list (list) = list<i16>[3] { [0] = 1, [1] = 2, [2] = 3, }, 14: i64_list (list) = list<i64>[3] { [0] = 1, [1] = 2, [2] = 3, }, }, [1] = OneOfEach { 01: im_true (bool) = true, 02: im_false (bool) = false, 03: a_bite (byte) = 0x33, 04: integer16 (i16) = 16, 05: integer32 (i32) = 32, 06: integer64 (i64) = 64, 07: double_precision (double) = 1.6180339887498949, 08: some_characters (string) = ":R (me going \"rrrr\")", 09: zomg_unicode (string) = "\xd3\x80\xe2\x85\xae\xce\x9d \xd0\x9d\xce\xbf\xe2\x85\xbf\xd0\xbe\xc9\xa1\xd0\xb3\xd0\xb0\xcf\x81\xe2\x84\x8e \xce\x91tt\xce\xb1\xe2\x85\xbd\xce\xba\xc7\x83\xe2\x80\xbc", 10: what_who (bool) = false, 11: base64 (string) = "", 12: byte_list (list) = list<byte>[3] { [0] = 0x01, [1] = 0x02, [2] = 0x03, }, 13: i16_list (list) = list<i16>[3] { [0] = 1, [1] = 2, [2] = 3, }, 14: i64_list (list) = list<i64>[3] { [0] = 1, [1] = 2, [2] = 3, }, }, }, 02: contain (set) = set<list>[3] { list<string>[0] { }, list<string>[2] { [0] = "and a one", [1] = "and a two", }, list<string>[3] { [0] = "then a one, two", [1] = "three!", [2] = "FOUR!!", }, }, 03: bonks (map) = map<string,list>[3] { "nothing" -> list<struct>[0] { }, "poe" -> list<struct>[3] { [0] = Bonk { 01: type (i32) = 3, 02: message (string) = "quoth", }, [1] = Bonk { 01: type (i32) = 4, 02: message (string) = "the raven", }, [2] = Bonk { 01: type (i32) = 5, 02: message (string) = "nevermore", }, }, "something" -> list<struct>[2] { [0] = Bonk { 01: type (i32) = 1, 02: message (string) = "Wait.", }, [1] = Bonk { 01: type (i32) = 2, 02: message (string) = "What?", }, }, }, } PASS: DebugProtoTest {"1":{"tf":1},"2":{"tf":0},"3":{"i8":127},"4":{"i16":27000},"5":{"i32":16777216},"6":{"i64":6000000000},"7":{"dbl":3.1415926535897931},"8":{"str":"JSON THIS! \"\u0001"},"9":{"str":"�\n\u0007\t"},"10":{"tf":0},"11":{"str":"AQIDrQ"},"12":{"lst":["i8",3,1,2,3]},"13":{"lst":["i16",3,1,2,3]},"14":{"lst":["i64",3,1,2,3]}} {"1":{"rec":{"1":{"i32":31337},"2":{"str":"I am a bonk... xor!"}}},"2":{"rec":{"1":{"tf":1},"2":{"tf":0},"3":{"i8":127},"4":{"i16":16},"5":{"i32":32},"6":{"i64":64},"7":{"dbl":1.6180339887498949},"8":{"str":":R (me going \"rrrr\")"},"9":{"str":"������� �������������������� ��tt������������"},"10":{"tf":0},"11":{"str":"AQIDrQ"},"12":{"lst":["i8",3,1,2,3]},"13":{"lst":["i16",3,1,2,3]},"14":{"lst":["i64",3,1,2,3]}}}} {"1":{"lst":["rec",2,{"1":{"tf":1},"2":{"tf":0},"3":{"i8":34},"4":{"i16":27000},"5":{"i32":16777216},"6":{"i64":6000000000},"7":{"dbl":3.1415926535897931},"8":{"str":"JSON THIS! \"\u0001"},"9":{"str":"�\n\u0007\t"},"10":{"tf":0},"11":{"str":"AQIDrQ"},"12":{"lst":["i8",3,1,2,3]},"13":{"lst":["i16",3,1,2,3]},"14":{"lst":["i64",3,1,2,3]}},{"1":{"tf":1},"2":{"tf":0},"3":{"i8":51},"4":{"i16":16},"5":{"i32":32},"6":{"i64":64},"7":{"dbl":1.6180339887498949},"8":{"str":":R (me going \"rrrr\")"},"9":{"str":"������� �������������������� ��tt������������"},"10":{"tf":0},"11":{"str":"AQIDrQ"},"12":{"lst":["i8",3,1,2,3]},"13":{"lst":["i16",3,1,2,3]},"14":{"lst":["i64",3,1,2,3]}}]},"2":{"set":["lst",3,["str",0],["str",2,"and a one","and a two"],["str",3,"then a one, two","three!","FOUR!!"]]},"3":{"map":["str","lst",3,{"nothing":["rec",0],"poe":["rec",3,{"1":{"i32":3},"2":{"str":"quoth"}},{"1":{"i32":4},"2":{"str":"the raven"}},{"1":{"i32":5},"2":{"str":"nevermore"}}],"something":["rec",2,{"1":{"i32":1},"2":{"str":"Wait."}},{"1":{"i32":2},"2":{"str":"What?"}}]}]}} Testing ooe Testing hm {"1":{"dbl":"NaN"},"2":{"dbl":"Infinity"},"3":{"dbl":"-Infinity"},"4":{"dbl":3.3333333333333335},"5":{"dbl":9.9999999999999994e+304},"6":{"dbl":1e-305},"7":{"dbl":0},"8":{"dbl":-0}} Testing base PASS: JSONProtoTest This old school struct should have three fields. OldSchool { 01: im_int (i16) = 0, 02: im_str (string) = "", 03: im_big (list) = list<map>[0] { }, } Setting a value before setting isset. Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, } Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, } Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, 03: im_optional (i16) = 10, } Setting isset before setting a value. Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, } Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, 03: im_optional (i16) = 0, } Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, 03: im_optional (i16) = 10, } Complex struct, simple test. Complex { 01: cp_default (i16) = 0, 02: cp_required (i16) = 0, 04: the_map (map) = map<i16,struct>[0] { }, 05: req_simp (struct) = Simple { 01: im_default (i16) = 0, 02: im_required (i16) = 0, }, } OptionalDefault { 01: opt_int (i16) = 1234, 02: opt_str (string) = "default", } OptionalDefault { 01: opt_int (i16) = 1234, 02: opt_str (string) = "default", } PASS: OptionalRequiredTest Testing ooe Testing hm PASS: SpecializationTest TBinaryProtocol => OK TCompactProtocol => OK PASS: AllProtocolsTest Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport Timeout alarm expired; attempting to unblock transport *** No errors detected PASS: TransportTest seed: 1368226201 *** No errors detected PASS: ZlibTest *** No errors detected PASS: TFileTransportTest Object reuse: 1 Data reuse: 1 YAY! *** No errors detected PASS: UnitTests =================== All 11 tests passed =================== make[4]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/lib/cpp/test'> make[3]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/lib/cpp/test'> make[2]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/lib/cpp'> make[2]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/lib'> make[2]: Nothing to be done for `check-am'. make[2]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/lib'> make[1]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/lib'> Making check in tutorial make[1]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/tutorial'> Making check in cpp make[2]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/tutorial/cpp'> make[2]: Nothing to be done for `check'. make[2]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/tutorial/cpp'> make[2]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/tutorial'> ../compiler/cpp/thrift --gen html -r ../tutorial/tutorial.thrift make[2]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/tutorial'> make[1]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/tutorial'> Making check in test make[1]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/test'> Making check in nodejs make[2]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/test/nodejs'> ../../compiler/cpp/thrift --gen js:node ../ThriftTest.thrift timeout 2 make server & make[3]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/test/nodejs'> ../../compiler/cpp/thrift --gen js:node ../ThriftTest.thrift NODE_PATH=../../lib/nodejs/lib:../../lib/nodejs/lib/thrift: node server.js /bin/bash: node: command not found make[3]: *** [server] Error 127 make[3]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/test/nodejs'> make client make[3]: Entering directory `<https://builds.apache.org/job/Thrift-cpp/ws/test/nodejs'> ../../compiler/cpp/thrift --gen js:node ../ThriftTest.thrift NODE_PATH=../../lib/nodejs/lib:../../lib/nodejs/lib/thrift: node client.js /bin/bash: node: command not found make[3]: *** [client] Error 127 make[3]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/test/nodejs'> make[2]: *** [check] Error 2 make[2]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/test/nodejs'> make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `<https://builds.apache.org/job/Thrift-cpp/ws/test'> make: *** [check-recursive] Error 1 Build step 'Execute shell' marked build as failure [WARNINGS] Skipping publisher since build result is FAILURE [TASKS] Skipping publisher since build result is FAILURE