GithubHelp home page GithubHelp logo

telefonicaid / fiware-orion Goto Github PK

View Code? Open in Web Editor NEW
211.0 48.0 262.0 48.59 MB

Context Broker and CEF building block for context data management, providing NGSI interfaces.

Home Page: https://fiware-orion.rtfd.io/

License: GNU Affero General Public License v3.0

CMake 0.79% Shell 4.45% Makefile 0.20% Python 7.22% XSLT 0.06% JavaScript 1.18% C 0.92% C++ 57.96% Go 0.02% Gherkin 27.13% Dockerfile 0.07%
fiware-ngsi fiware-orion fiware orion-context-broker context-information-management data

fiware-orion's People

Contributors

alvarovega avatar anjali-nec avatar anupamme avatar arigliano avatar arqamfarooqui110719 avatar caa06d9c avatar chetan-nec avatar chicco785 avatar crbrox avatar danielvillalbamota avatar dependabot[bot] avatar dmoranj avatar fgalan avatar fisuda avatar fiwareulpgc avatar fortizc avatar iariasleon avatar jason-fox avatar jcalderin avatar jfernandz avatar jmcanterafonseca avatar kzangeli avatar leandroguillen avatar mapedraza avatar mcmutton avatar mrutid avatar raconte avatar rajeswar-nec avatar tobiasjacobs avatar wistefan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fiware-orion's Issues

absence of Content-Type header in request make broker not responding

Current version (as it is in develop branch at commit 09c117f6db8bb2866229e1696c997a9677a1be30) is weak when a request without Content-Type is received. This is an example trace when that happens:

M:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/rest.cpp[193] connectionTreat: ------------------------ IN 4:0 -----------------------
T:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/rest.cpp[230] connectionTreat: HTTP method: POST, URL: /ngsi9/registerContext, version: HTTP/1.1
M:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/ConnectionInfo.h[56] ConnectionInfo: outFormat: XML
T:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Cache-Control: no-cache
W:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/rest.cpp[68] httpHeaderGet: 'unsupported' HTTP header: 'Cache-Control', value 'no-cache'
T:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Pragma: no-cache
W:Tuesday 27 Aug 12:07:57 2013(512):contextBroker-/rest.cpp[68] httpHeaderGet: 'unsupported' HTTP header: 'Pragma', value 'no-cache'
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Connection: keep-alive
W:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[68] httpHeaderGet: 'unsupported' HTTP header: 'Connection', value 'keep-alive'
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Cookie: csrftoken=tbxKrKA1PHi1zuwgd5uax4AZJoLogBpa
W:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[68] httpHeaderGet: 'unsupported' HTTP header: 'Cookie', value 'csrftoken=tbxKrKA1PHi1zuwAZJoLogBpa'
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Content-Type: text/plain; charset=UTF-8
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Content-Length: 690
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Accept-Encoding: gzip, deflate
W:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[68] httpHeaderGet: 'unsupported' HTTP header: 'Accept-Encoding', value 'gzip, deflate'
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Accept-Language: null
W:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[68] httpHeaderGet: 'unsupported' HTTP header: 'Accept-Language', value 'null'
T:Tuesday 27 Aug 12:07:57 2013(513):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Accept: application/xml
T:Tuesday 27 Aug 12:07:57 2013(514):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.o/20100101 Firefox/23.0
T:Tuesday 27 Aug 12:07:57 2013(514):contextBroker-/rest.cpp[59] httpHeaderGet: HTTP Header:   Host: localhost:10026
M:Tuesday 27 Aug 12:07:57 2013(514):contextBroker-/rest.cpp[245] connectionTreat: contentLength == 690
E:Tuesday 27 Aug 12:07:57 2013(514):contextBroker-/rest.cpp[252] connectionTreat: MHD_create_post_processor FAILED

and nothing is responded after that FAILED.

A quick solution is to check if Content-Type is present and early-response in that case with the proper HTTP response code (not sure which one to use... http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)

Proper "415 Unsupported Media Type" response for not supporte types

Del report de Atos del 9/Jul/13:

este report indicaría (a falta de confirmarlo por nuestra parte) que el broker cuando no le gusta el MIME Type (pe. es "text/xml") no responde. No debería de actuar así: aunque no le guste el Mime-Type debería de devolver un mensaje "415 Unsupported Media Type" e indicar en la cabecera Accept (creo) de la respuesta los mime types que acepta ("application/xml" en el momento actual).

XML parse function unification

There are a number of cut 'n pasted functions in the XML parsing part.
E.g. entityId(), entityIdId(), ...

All these copies should be replaced by ONE common function.

Effort: 7 man day

Unified test filter for harness and valgrind tests

Description

Right now the test filter for the valgrind test suite doesn't work the way we would like. A smaller effort is needed for it to accept a TEST_FILTER with the syntaxis of 'ls':

    TEST_FILTER="convenience*.vtest" valgrindTestSuite.sh

There are two types of valgrind tests in the suite, the 'pure' valgrind tests and the 'valgrindized harness tests'. The harness tests don't really have any filter and a further complication is that these files have the suffix '.test' not '.vtest', which the pure tests use.

management-script: entities "coverage" in registrations

In order to debug, it would be interesting to have a script that processes database entities and registration collections, finding:

  1. entities that are "covered" by some non-expired registration (telling the number)
  2. entities that are "covered" by some expired registration (telling the number)
  3. entities not covered by any registration
  4. registrations that doesn't cover any entity

Cases 3 and 4 typically correspond to a buggy situation. Case 1 and 2 can be buggy when the number of registrations covering a particular entity is greater than 1 (depending on the CB usage case).

Some work has been done on this (ask me for the entity-registration-coverage.py script).

ping

Description

Implement a new REST request 'ping' and use it instead of 'version' to check whether the broker is alive in valgrind tests.

version.h side-by-side with main program

The version of the contextBroker right now resides in paConfig.h, in the parseArgs library.
This is not very good.
The executables should have a separate header file 'version.h' right next to the source code in the src/app/* directory.

Fixed in update RPM scripts in .spec

Two fixes (at least) are needed:

  • It seem that upon RPM update the chkconfig get unconfigured, so it is needed to to the chkconfig contextBroker on again. This should not happen
  • The /etc/sysconfig/contextBroker is overridden each time the package is updated. This should not happen, as the file could have been edited by user and he/she may lost configuration.

Effort: 1 man day

Crash with ONTIMEINTERVAL subscriptions

In release 0.8.0.

We have detected a problem which main sympthon is that the broker crack at bootup:

# contextBroker -fg -port 10026
M@14:54:08  main[460]: Opening mongo connection
M@14:54:08  main[469]: Connected to localhost:orion as user
Thu Oct 17 16:54:08 Assertion: 13111:wrong type for field (value) 16 != 4
terminate called after throwing an instance of 'mongo::MsgAssertionException'
  what():  wrong type for field (value) 16 != 4
Abortado (`core' generado)

Backtrace shows the problem is on recoverOntimeIntervalThreads()

(gdb) bt
#0  0x0000003adaa328a5 in raise () from /lib64/libc.so.6
#1  0x0000003adaa34085 in abort () from /lib64/libc.so.6
#2  0x0000003ae62bea5d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib64/libstdc++.so.6
#3  0x0000003ae62bcbe6 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x0000003ae62bcc13 in std::terminate() () from /usr/lib64/libstdc++.so.6
#5  0x0000003ae62bcd0e in __cxa_throw () from /usr/lib64/libstdc++.so.6
#6  0x00000000006efa00 in mongo::msgasserted(int, char const*) ()
#7  0x00000000006efa8c in mongo::msgasserted(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#8  0x00000000005a9de4 in mongo::BSONElement::chk(int) const ()
#9  0x00000000005abb4f in mongo::BSONElement::Array() const ()
#10 0x00000000005ba19d in recoverOntimeIntervalThreads() ()
#11 0x0000000000592a8b in main ()

The solution was to remove the ONTIMEINTERVAL in the csubs collection with mongo console.

Alternative check when ErrorCode::code != 200 OK

Many of the ngsi responses have an optional ErrorCode field.
The check methods of responses should do a different 'check' if the ErrorCode is 'active' ( != 200).

We should set ErrorCode::code to 200 by default and at the time of doing the 'check', if ErrorCode::code != 200, the 'check' method will take an alternative path.

Example:
RegisterContextResponse:
Duration (optional)
RegistrationId (mandatory)
ErrorCode (optional)

pseudo code:

if (errorCode.code NOT 200)
then
errorCode::check()
regId::check();
else
duration::check();
regId::check();
endif

Probably it is a good idea to set the StatusCode::code to 200 by default also.
In case of problems it would be set to an error.

Implementation details for unit tests

Fermin and Ken need to discuss whether it is desireble/forbidden to use high level (and 'irrelevant' for the test itself) functions in unit tests.

Input buffer length

To catch all possible errors regarding Content-Length, including too large input, Fermin will implement a harness test and Ken will later modify the broker to fulfill this harness test.
It would be good to have the harness test file in git, perhaps a new directpory under 'test/' (test/futureHarnessTests) ?

Cases to be caught:

  1. que el usuario ponga Content-Lengh y honre ese Content-Length
  2. que el usuario ponga el Content-Length y no honre ese Conent-Lenght (pe. atacante malicioso que quiera tirar el broker)
  3. que el usuario no ponga Content-Length
  4. que el usuario simplemente mande un buffer > 1M
  5. que el usuario mande un buffer > 64M (que es el tamaño del buffer interno del broker ahora mismo)

The internal buffer size of 64M should be lowered to 2M (for example) and we should try to avoid having MHD answering for us with that funny message:

<html><head><title>Internal server error</title></head><body>Some programmer needs to study the manual more carefully.</body></html>

Effort: 2 man day

ContextBroker running in a Raspberry

This is as simple (or difficult :) as to compile Context Broker code in a Raspberry Pi device. Given that we currently compile it in Debian in some systems, it shouldn't be too dificult.

updateContext: repeat attributes in ContextElement in the request will break DELETE

For example in TEST(mongoUpdateContextRequest, delete1EntNAttr), edit ca1 so:

    ca1.name = "A2";
    ca1.type = "TA2";

    ca2.name = "A2";
    ca2.type = "TA2";

and run the test.

The problems is that, with the current algorithm, when ca2 is processed, the previous processing of ca1 involved that the attribute is not there anymore, so a "Not found attribute is reported".

The problem doesn't happend with UPDATE (which is idempotent) and APPEND (which is equal to UPDATE in the current implementation).

Can we assume that the parsing step will detect and forbid this kind of things?

Effort: 4 man day

NGSI9 one-time subscription support

OMA spec section 5.3.3.1 (subscribeContextAvailability) tells:

In case of the value 0 [for Duration in the request], the context scomponent SAHLL only notify the current value and SHALL NOT send subsequent notifications (one-time subscription)

Surprisingly, the concept of one-time subscription is only in NGSI9 (in NGSI10 subscription, the above paragraph is not found).

I think this should be a low priority (P2) due to this is an "edge case" and that the client can always use discoverContextAvailability to get the same result.

Implement "Too Long" error

Citing email in fiware-ngsi:


In large-scale utilization scenarios (e.g. 100,000 entities registered) a NGSI10 queryContext with too wide patterns (e.g. the ".*" that matches everything) could be overwhelming (e.g. it could involve an XML payload containing 100,000 entities information in the HTTP response to the client). A similar case could happen with NGSI9 discoverContextAvailability operation.

We should provide a solution for these cases:

  • In the short term (i.e. for Release 2), we could just define a new error code (e.g. "483 Response Too Long") that the NGSI server could use if a given limit is exceeded (and particular limit will be implementation specific).
  • In the long term, probably we should define a smarter mechanism. Looking to other populars REST APIs one trend is to use paging, e.g. the Twitter API (https://dev.twitter.com/docs/api/1/get/search) uses "rpp" and "page" to specify how many items to include in the response, maybe a similar mechanis could be introduced in NGSI.

This issue is about of implementing the "short term" bullet.

management-scripts: comparison scripts

Especially for cases of federated CBs, it would be interesting to have a script to compare entities or registrations collections, some kind of "diff" between them. The procedure would be as follows:

  1. Get the entities/registrations collections in CB1 using mongodump (this produces a JSON file)
  2. Get the entities/registrations collections in CB2 using mongodump (this produces a JSON file)
  3. Compare the two JSON files using the aforementioned script

XML EntityId format

Description

XML EntityId attribute 'id' and fields 'type' and 'isPattern' are still accepted in some cases.
This feature doesn't conform to the XSD and should be removed.

Move "unsupported HTTP headers" from LM_W() to LM_T()

Depending on the nature of the clients, the log get flood of messages like the following one, adding a lot of noise:

W:Tuesday 05 Nov 16:44:59 2013(986):contextBroker-/rest.cpp[82] httpHeaderGet: 'unsupported' HTTP header:

In order to avoid this, "unsupported HTTP headers" message should be moved from LM_W() to a LM_T(), enabled/disabled with the corresponding -t signal.

Strict mapping: StatusCode.code <-> StatusCode.reasonPhrase

Changes needed:

  • Implement the mapping functions (probably in StatusCode.cpp)
  • Change mongoBackend (and pobably other places in which the StatusCode is fillied, e.g. parser code when an error is detected with the checking function) to use tha mapping

Unify json and xml parse aux functions

Almost all of the auxiliar functions for XML could be used during JSON parsing; just a minor modification would be necessary.
Part one would be to unify its parameters.
Part two: create a 'parse' library with all unified functions, first the xxxInit, xxxRelease etc, after that the static entityIdId etc.
A few functions are different between xml and json but really not so many.

Notification sent to wrong reference endpoint

Detected at Santander hackaton by Talentum Málaga team:

CB sent the following callback:

POST /callbacks/15:30:37:15:34:47 HTTP/1.1
User-Agent: NGSI Rest Library
Host: mashup.lab.fi-ware.eu:3000
Accept: */*
Content-Type: application/xml
Content-Length: 1661

<notifyContextRequest>
  <subscriptionId>525ff5881860a3f85a1b6232</subscriptionId>
  <originator>localhost</originator>
  <contextResponseList>
    <contextElementResponse>
      <contextElement>
        <entityId type="Sensor" isPattern="false">
          <id>HACKSANTANDER.4IN1:86:DA:B6:0002</id>
        </entityId>
        <contextAttributeList>
          <contextAttribute>
            <name>TimeInstant</name>
            <type>urn:x-ogc:def:trs:IDAS:1.0:ISO8601</type>
            <contextValue>2013-10-17T18:10:21</contextValue>
          </contextAttribute>
          <contextAttribute>
            <name>Move</name>
            <type>urn:x-ogc:def:phenomenon:HACKSANTANDER:1.0:Move</type>
            <contextValue>MOVE</contextValue>
          </contextAttribute>
          <contextAttribute>
            <name>illuminance</name>
            <type>urn:x-ogc:def:phenomenon:IDAS:1.0:illuminance</type>
            <contextValue>305</contextValue>
          </contextAttribute>
          <contextAttribute>
            <name>temperature</name>
            <type>urn:x-ogc:def:phenomenon:IDAS:1.0:temperature</type>
            <contextValue>20.4</contextValue>
          </contextAttribute>
          <contextAttribute>
            <name>relativeHumidity</name>
            <type>urn:x-ogc:def:phenomenon:IDAS:1.0:relativeHumidity</type>
            <contextValue>84</contextValue>
          </contextAttribute>
        </contextAttributeList>
      </contextElement>
      <statusCode>
        <code>200</code>
        <reasonPhrase>OK</reasonPhrase>
      </statusCode>
    </contextElementResponse>
  </contextResponseList>
</notifyContextRequest>

The notifyContextRequest itself is not the problem (it is correctly formated). The problem is that the notification was received in a VM deployed in the FI-LAB cloud (IP not shown for security reasons), not in mashup.lab.fi-ware.eu:3000 (shown in Hostheader)!

Some "cross-reference" problem might be happening in notifications.

Improve statistics format

Release 0.8.1 introduces statistics REST API call. However, further improvements are needed, to have a format like the following one:

<orion>
   <requests>
      <ngsi9>
         <standard>
            <registerContext xml_count="" xml_time="" json_count="" json_time="" />
            [same for other NGSI9 operations: discoverContextAvailability, subscribeContextAvailability, updateContextAvailabilitySubscription,
            unsubscribeContextAvailability, notifyContextAvailabilityRequest]
         </standard>
         <convenience>
            <contextEntities_EntityId>
               <GET xml_count="" xml_time="" json_count="" json_time="" />
               <POST xml_count="" xml_time="" json_count="" json_time="" />
            </contextEntities_EntityId>
            [same for other NGSI9 convenience operations, shown in https://docs.google.com/spreadsheet/ccc?key=0Aj_S9VF3rt5DdEhqZHlBaGVURmhZRDY3aDRBdlpHS3c#gid=0]
         <convenience>
      </ngsi9>
      <ngsi10>
         <standard>
            <queryContext xml_count="" xml_type="" json_count="" json_time="" />
            [same for other NGSI9 operations: updateContext, subscribeContext, updateContextSubscription, unsubscribeContext and notifyContextRequest]
         </standard>
         <convenience>
            <contextEntities_EntityId>
               <GET xml_count="" xml_time="" json_count="" json_time="" />
               <POST xml_count="" xml_time="" json_count="" json_time="" />
            </contextEntities_EntityId>
            [same for other NGSI10 convenience operations, shown in https://docs.google.com/spreadsheet/ccc?key=0Aj_S9VF3rt5DdEhqZHlBaGVURmhZRDY3aDRBdlpHS3c#gid=0]
         <convenience>
      </ngsi10>
   </requests>
   <notifications>
      <notifyContext xml_count="" xml_time="" json_count="" json_time="" />
      <notifyContextAvailability xml_count="" xml_time="" json_count="" json_time="" />
   </notifications>
   <other>
      <version xml_count="" xml_time="" json_count="" json_time="" />
      <statistics xml_count="" xml_time="" json_count="" json_time="" />
      <log xml_count="" xml_time="" json_count="" json_time="" />
      <invalid xml_count="" xml_time="" json_count="" json_time="" />
      [missing something above?]
   </other>
  <uptime_in_secs>16896</uptime_in_secs>
  <measuring_interval_in_secs>16896</measuring_interval_in_secs>
</orion>

I'm not showing aggregations in the above XML, but they would be introduced in the intermediate elements, as follows:

   <requests xml_count="(sum of all requests, both NGSI9 and NGSI10)>
      <ngsi9 xml_count="(sum of all NGSI9, both standard and convenience)">
         <standard xml_count="(sum of all standard NGIS9)" ...>
...

XML used for testing doesn't conform with XSD

The recently finished xmlCheker.sh script shows several validation problems in the XML used in manual, unittest and harness test (see trace below, corresponding to an execution in "develop" branch at commit e6e2d2c). There are three kind of fails:

  1. The XML doesn't validate (lines with "FAILS")
  2. Files that can not be checked with xmlChecker.sh due to they have a name that doesn't match the filters used by script. This affects to files in test/manual and test/unittest directories, which has a total of 159 XML files, but only a total of 139 has been processed.
  3. The message "Waring: XML headers (x) and generated fragments (y) differ" means that some XML fragment (in a .test file) lacks the heading <?xml ... ?> line.

Validation fails (point 1) could be a fail in the XML having some optional value not actually used by the CB (so probably fixing just the XML is ok, no action required in CB). Moreover, a fix in a XML fragment in a .test will involve changes in the CB (until the .test gets ok again).

fermin@oriondeb:~/src/fiware-orion/scripts$ cat /tmp/kk
Enter username: 
Enter password: 
../test/unittests/testData/registerContextRequest_badContextRegistrationAttributeIsDomain.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_durationError.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyContextMetadataName.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyContextMetadataValue.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyContextRegistrationAttributeIsDomain.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyContextRegistrationAttributeName.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyContextRegistration.xml: ok
../test/unittests/testData/registerContextRequest_emptyEntityIdList.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyProvidingApplication.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_emptyRegistrationMetadataValue.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_entityIdWithEmptyId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_entityIdWithIsPatternTrue.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_entityIdWithNoId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_invalidAttributeName.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_invalidIsPatternString.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_noContextRegistration.xml: ok
../test/unittests/testData/registerContextRequest_noEntityIdList.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_noProvidingApplication.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_ok.xml: FAILS (xmllint error: 3)
../test/unittests/testData/registerContextRequest_overwriteEntityIdType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_emptyAttributeExpression.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_emptyEntityIdId.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_emptyEntityIdList.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_emptyScopeType.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_emptyScopeValue.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_entityIdIdAsAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_entityIdIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_entityIdType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_invalidIsPatternValue.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_noAttributeExpression.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_noEntityIdId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_noEntityIdList.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_noScopeType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_noScopeValue.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_notFound.xml: FAILS (xmllint error: 1)
../test/unittests/testData/discoverContextAvailabilityRequest_ok2.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_okNoRestrictions.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_ok.xml: ok
../test/unittests/testData/discoverContextAvailabilityRequest_overrideEntityIdId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_overrideEntityIdIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_overrideEntityIdType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/discoverContextAvailabilityRequest_unsupportedAttributeForEntityId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_badEntityId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_badIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_entityIdIsPatternAsBothFieldAndAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_entityIdTypeAsBothFieldAndAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_noEntityId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_noReference.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextAvailabilityRequest_ok.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextAvailabilitySubscriptionRequest_invalidEntityAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextAvailabilitySubscriptionRequest_ok.xml: ok
../test/unittests/testData/unsubscribeContextAvailabilityRequest_badSubscriptionId.xml: ok
../test/unittests/testData/unsubscribeContextAvailabilityRequest_subscriptionNotFound.xml: ok
../test/unittests/testData/notifyContextAvailabilityRequest_badEntityAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/notifyContextAvailabilityRequest_ok.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_badIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_emptyAttributeExpression.xml: ok
../test/unittests/testData/queryContextRequest_emptyEntityIdId.xml: ok
../test/unittests/testData/queryContextRequest_emptyEntityList.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_emptyScopeType.xml: ok
../test/unittests/testData/queryContextRequest_emptyScopeValue.xml: ok
../test/unittests/testData/queryContextRequest_entityIdIdAsAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_entityIdIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_entityIdType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_noAttributeExpression.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_noEntityList.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_noRestriction.xml: ok
../test/unittests/testData/queryContextRequest_noScopeType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_noScopeValue.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_notFound.xml: ok
../test/unittests/testData/queryContextRequest_ok.xml: ok
../test/unittests/testData/queryContextRequest_overwriteEntityIdId.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_overwriteEntityIdIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_overwriteEntityIdType.xml: FAILS (xmllint error: 3)
../test/unittests/testData/queryContextRequest_unsupportedEntityIdAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextAttributeRequest.xml: ok
../test/unittests/testData/updateContextAvailabilitySubscription_notFound.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextAvailabilitySubscription_ok.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextAvailabilitySubscriptionRequest_invalidEntityAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextAvailabilitySubscriptionRequest_ok.xml: FAILS (xmllint error: 3)
../test/unittests/testData/updateContextElementRequest_ok.xml: ok
../test/unittests/testData/updateContextElementRequest.xml: ok
../test/unittests/testData/updateContext_notFound.xml: ok
../test/unittests/testData/updateContext_ok.xml: ok
../test/unittests/testData/updateContextSubscription_badLength.xml: ok
../test/unittests/testData/updateContextSubscription_notFound.xml: ok
../test/unittests/testData/updateContextSubscription_ok.xml: ok
../test/unittests/testData/subscribeContextRequest_invalidDuration.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextRequest_invalidEntityIdAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/subscribeContextRequest_ok.xml: ok
../test/unittests/testData/unsubscribeContextRequest_badSubscriptionId.xml: ok
../test/unittests/testData/notifyContextRequest_badIsPattern.xml: FAILS (xmllint error: 3)
../test/unittests/testData/notifyContextRequest_invalidEntityIdAttribute.xml: FAILS (xmllint error: 3)
../test/unittests/testData/notifyContextRequest_ok.xml: ok
../test/manual/registerContextBadDuration.xml: FAILS (xmllint error: 3)
../test/manual/registerContextBadRegistrationId.xml: FAILS (xmllint error: 3)
../test/manual/registerContextEmptyContextRegistrationList.xml: ok
../test/manual/registerContextEmptyProvidingApplication.xml: FAILS (xmllint error: 3)
../test/manual/registerContextNoProvidingApplication.xml: FAILS (xmllint error: 3)
../test/manual/registerContextResponse.xml: ok
../test/manual/registerContext.xml: FAILS (xmllint error: 3)
../test/manual/discoverContextAvailabilityEmptyAttributeExpression.xml: ok
../test/manual/discoverContextAvailabilityNoAttributeExpression.xml: FAILS (xmllint error: 3)
../test/manual/discoverContextAvailabilityNoRestriction.xml: ok
../test/manual/discoverContextAvailabilityNoScope.xml: ok
../test/manual/discoverContextAvailabilityScopeWithEmptyType.xml: ok
../test/manual/discoverContextAvailabilityScopeWithEmptyValue.xml: ok
../test/manual/discoverContextAvailabilityScopeWithNoType.xml: FAILS (xmllint error: 3)
../test/manual/discoverContextAvailabilityScopeWithNoValue.xml: FAILS (xmllint error: 3)
../test/manual/discoverContextAvailability.xml: ok
../test/manual/subscribeContextAvailabilityRequest.xml: ok
../test/manual/subscribeContextAvailabilityResponse.xml: ok
../test/manual/updateContextAvailabilitySubscriptionRequest.xml: ok
../test/manual/updateContextAvailabilitySubscriptionResponse.xml: ok
../test/manual/unsubscribeContextAvailabilityRequest.xml: ok
../test/manual/unsubscribeContextAvailabilityResponse.xml: ok
../test/manual/notifyContextAvailabilityRequest.xml: FAILS (xmllint error: 3)
../test/manual/notifyContextAvailabilityResponse.xml: ok
../test/manual/queryContextNoAttributeExpression.xml: ok
../test/manual/queryContextScopeEmptyType.xml: ok
../test/manual/queryContextScopeEmptyValue.xml: ok
../test/manual/queryContextScopeNoType.xml: FAILS (xmllint error: 3)
../test/manual/queryContextScopeNoValue.xml: FAILS (xmllint error: 3)
../test/manual/queryContextWithPattern.xml: ok
../test/manual/queryContext.xml: ok
../test/manual/updateContext01.append.xml: ok
../test/manual/updateContext01.delete.xml: ok
../test/manual/updateContext01.update.xml: FAILS (xmllint error: 3)
../test/manual/updateContextAvailabilitySubscriptionRequest.xml: FAILS (xmllint error: 3)
../test/manual/updateContextAvailabilitySubscriptionResponse.xml: FAILS (xmllint error: 3)
../test/manual/updateContextSubscriptionRequest-ONTIMEINTERVAL.xml: ok
../test/manual/updateContextSubscriptionRequest.xml: ok
../test/manual/subscribeContextRequest-ONCHANGE.xml: ok
../test/manual/subscribeContextRequest-ONTIMEINTERVAL.xml: ok
../test/manual/subscribeContextRequest-ONXXX.xml: FAILS (xmllint error: 3)
../test/manual/updateContextSubscriptionRequest-ONTIMEINTERVAL.xml: ok
../test/manual/updateContextSubscriptionRequest.xml: ok
../test/manual/unsubscribeContextRequest.xml: ok
../test/manual/notifyContextRequest.xml: ok
Waring: XML headers (14) and generated fragments (18) differ
Waring: XML headers (3) and generated fragments (4) differ
Waring: XML headers (18) and generated fragments (26) differ
Waring: XML headers (11) and generated fragments (15) differ
Waring: XML headers (3) and generated fragments (6) differ
Waring: XML headers (1) and generated fragments (2) differ
Waring: XML headers (2) and generated fragments (4) differ
Waring: XML headers (1) and generated fragments (2) differ
Waring: XML headers (0) and generated fragments (1) differ
Waring: XML headers (13) and generated fragments (11) differ
Waring: XML headers (6) and generated fragments (7) differ
Waring: XML headers (15) and generated fragments (20) differ
Waring: XML headers (0) and generated fragments (1) differ
Waring: XML headers (6) and generated fragments (9) differ
Waring: XML headers (0) and generated fragments (1) differ
Waring: XML headers (7) and generated fragments (9) differ
Waring: XML headers (8) and generated fragments (9) differ
Waring: XML headers (21) and generated fragments (26) differ
Waring: XML headers (20) and generated fragments (24) differ
Waring: XML headers (16) and generated fragments (17) differ
Waring: XML headers (5) and generated fragments (6) differ
/tmp/xmlCheck.oWAOk/associations.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/associations.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-query-things-case.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/assoc-query-things-case.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-query-things-case.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-query-things-case.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-query-things-case.ngsi9.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-query-things-case.ngsi9.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-update-things-case.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/assoc-update-things-case.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-update-things-case.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-update-things-case.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-update-things-case.ngsi9.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/assoc-update-things-case.ngsi9.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/check_default_duration.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/check_default_duration.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/check_default_duration.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/check_default_duration.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.10: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.11: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.12: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.13: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.14: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.5: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.6: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.7: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi9.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_context_entities_by_entity_id.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/convenience_context_entities_by_entity_id.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_context_entities_by_entity_id.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/convenience_context_entity_attributes.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/convenience_context_entity_attributes.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_context_entity_attributes.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/convenience_entity_by_id_attribute_by_name.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/convenience_entity_by_id_attribute_by_name.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_entity_by_id_attribute_by_name.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attribute_delete_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attribute_delete_ok.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attribute_get_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attribute_get_ok.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_delete_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_delete_ok.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_get_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_get_ok.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_post_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_post_ok.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_put_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_attributes_put_ok.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_delete_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_delete_ok.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_get_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_get_ok.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_post_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_post_ok.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_put_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/convenience_individual_context_entity_put_ok.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/large_request_discover_context_availability.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/large_request_registerContextRequest.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/large_request_subscribe_context_availability.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/large_request_unsubscribe_context_availability.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/large_request_update_context_availability_subscription.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/notify_context_availability.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/notify_context_availability.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/notify_context_availability.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/notify_context_availability.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/notify_context.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/notify_context.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/query_sequence.ngsi9.18: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi9.23: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/query_sequence.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi9.38: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/registration_expired.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/registration_expired.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/registration_expired.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/registration_expired.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/registration_expired.ngsi9.5: ok
/tmp/xmlCheck.oWAOk/registration_expired.ngsi9.6: ok
/tmp/xmlCheck.oWAOk/registration_fail.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/registration_fail.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/registration_fail.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/registration_fail.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.10: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.5: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.7: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.8: ok
/tmp/xmlCheck.oWAOk/registration_ok.ngsi9.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_expiration.ngsi9.7: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.10: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.11: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.12: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.13: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.14: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.15: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.16: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.17: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.18: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.19: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.20: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.21: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.22: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.23: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.24: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.5: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.6: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.7: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.8: ok
/tmp/xmlCheck.oWAOk/subscription_availability_sequence.ngsi9.9: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.10: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.11: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.12: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.13: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.14: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.15: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.16: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.17: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.18: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.5: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.6: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.7: ok
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.8: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_availability_wildcards_sequence.ngsi9.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi9.11: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi9.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi9.12: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi9.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi9.10: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi9.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi9.7: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi9.8: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi9.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi9.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi9.24: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi9.3: ok
/tmp/xmlCheck.oWAOk/xmlParseBadVerbDiscoverContextAvailability.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParseBadVerbDiscoverContextAvailability.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/xmlParseBadVerbDiscoverContextAvailability.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParseBadVerbDiscoverContextAvailability.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/xmlParseBadVerbRegisterContext.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParseBadVerbRegisterContext.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/xmlParsePostDiscoverContextAvailability.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostDiscoverContextAvailability.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/xmlParsePostDiscoverContextAvailability.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostDiscoverContextAvailability.ngsi9.4: ok
/tmp/xmlCheck.oWAOk/xmlParsePostNotifyContextAvailability.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostNotifyContextAvailability.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostNotifyContextAvailability.ngsi9.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostNotifyContextAvailability.ngsi9.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostRegisterContext.ngsi9.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostRegisterContext.ngsi9.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContextAvailability.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContextAvailability.ngsi9.2: ok
/tmp/xmlCheck.oWAOk/zero_content_length.ngsi9.1: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.5: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.8: ok
/tmp/xmlCheck.oWAOk/accept_fail.ngsi10.9: ok
/tmp/xmlCheck.oWAOk/cm_forwards_psb_ok.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/large_request_query_context.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/large_request_subscribe_context.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/large_request_unsubscribe_context.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/large_request_update_context.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/large_request_update_context_subscription.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/missing_content_type_header.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/missing_content_type_header.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/missing_content_type_header.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/missing_content_type_header.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/notify_context.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/notify_context.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/notify_context.ngsi10.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/notify_context.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.10: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.11: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.12: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.13: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.14: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.15: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.16: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.17: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.19: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.20: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.21: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.22: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.24: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.25: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.26: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.27: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.28: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.29: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.30: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.31: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.32: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.33: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.34: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.35: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.36: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.37: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.39: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.40: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.5: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.8: ok
/tmp/xmlCheck.oWAOk/query_sequence.ngsi10.9: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.10: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.12: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.13: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.14: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.15: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.16: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.17: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.18: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.19: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.20: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.21: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.22: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.23: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.24: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.25: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.26: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.5: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.7: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.8: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_empty.ngsi10.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.8: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange_expiration.ngsi10.9: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.10: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.11: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.13: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.14: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.15: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.16: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.17: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.18: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.19: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.20: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.21: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.22: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.23: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.24: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.25: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.26: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.5: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.8: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_onchange.ngsi10.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.5: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.8: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval_expiration.ngsi10.9: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.10: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.11: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.12: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.13: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.14: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.15: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.16: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.17: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_ontimeinterval.ngsi10.8: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.11: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.12: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.13: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.14: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.15: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.16: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.17: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.18: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.19: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.20: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_append.ngsi10.8: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.10: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.11: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.12: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.13: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.14: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.15: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.3: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.6: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_onchange_update.ngsi10.9: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi10.7: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi10.8: ok
/tmp/xmlCheck.oWAOk/subscription_sequence_wildcards_ontimeinterval.ngsi10.9: ok
/tmp/xmlCheck.oWAOk/updateContextSubscription.ngsi10.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/updateContextSubscription.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.1: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.10: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.11: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.12: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.13: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.14: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.15: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.16: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.17: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.18: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.19: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.20: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.21: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.22: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.23: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.25: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.26: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.27: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.28: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.29: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.30: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.31: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.32: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.33: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.34: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.35: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.36: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.37: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.38: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.39: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.4: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.40: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.41: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.42: ok
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.5: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.6: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.7: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.8: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/update_sequence.ngsi10.9: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostNotifyContext.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/xmlParsePostNotifyContext.ngsi10.2: FAILS (xmllint error: 3)
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContext.ngsi10.1: ok
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContext.ngsi10.2: ok
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContext.ngsi10.3: ok
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContext.ngsi10.4: ok
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContext.ngsi10.5: ok
/tmp/xmlCheck.oWAOk/xmlParsePostUnsubscribeContext.ngsi10.6: ok
----------------
Processed files/fragments: 542
Ok files/fragments: 339
Err files/fragments: 203
----------------
There are 159 XML files in ../test/unittests/testData and ../test/manual directories, but only 139
were processed. This typically happens when some .xml files are not following the name convention used by
the xmlChecker.sh script.

git_hash not shown in version message for RPM generated binaries

It seems that the git hash is not correctly set in RPM generated binaries.

<orion>
  <version>0.8.1</version>
  <uptime>0 d, 0 h, 20 m, 10 s</uptime>
  <git_hash></git_hash>
  <compile_time>Wed Oct 30 18:09:43 CET 2013</compile_time>
  <compiled_by>fermin</compiled_by>
  <compiled_in>centollo</compiled_in>
</orion>

The problem is minor, as these binaries are "marked" by their existence within a RPM itself, but we should forget this point in the future (so this issue is created :)

Avoid password in cleartext in logs

Currently we are using this for debugging:

LM_RE(MsConnectionError, ("Auth error (db=%s, username=%s, pswd=%s): %s", db, username, passwd, err.c_str()));

Password should not be in cleartext at the end.

Effort: 1 man day

Using static connection variable for DBClientConnection in all unit tests

In PR #232 we start using static variables for setting up database in this way:

  static DBClientConnection* connection = NULL;

  if (connection == NULL)
  {
    /* Set database */
    setupDatabase();

    connection = getMongoConnection();
  }

while most of the *_test.cpp files use:

  /* Set database */
  setupDatabase();

  DBClientConnection* connection = getMongoConnection();

This is @kzangeli comment about this in a later email:

A static variable in a function is like a global variable that is visible in one function only.
The initial assignment of this static variable is made by the compiler, not in runtime.
So, the first time the function is called, connection has the value of NULL.
If its value is changed, that new value will be seen in consequent calls of the function.

Now, this function 'prepareDatabase' can be called several times but 'setupDatabase'

Thus, it seems to be smarter to use static variables for all *_test.cpp using database setup. This issue is about that global change.

Effort: 10 man day

payload initial word check against URL

In the function xmlTreat (xmlRequest.cpp) the incoming payload is parsed 'by hand' to find the first word in the XML.
First of all, this is not implemented for JSON - must be implemented!!

Secondly, the robustness of this 'manual parse' should be improved, or we could even call xmlParse/jsonParse and after that extract the first word.

Effort: 10 man day

Fix .DISABLED harness tests

This test [recover_ontimeinterval_recover.test ] has a long tradition of problems in the harness test suite and now it seems that also produces hangs in Ubuntu (and sometimes in Debian) in the valgrind test suite.

We have renamed this file to recover_ontimeinterval_threads.DISABLED to disable it. After fixing it and closing this issue, we will named it back to .test.

Effort: 3 man day

Weird behaviour procesing registerContext with isPattern="" with NGSI9 federation in place

In a federation scenario with CB1->CB2 it has been observed that if CB1 receives a registerContext with isPattern="" then:

  1. The registerContext is accepted by CB1
  2. But the notifyContextAvailabilityRequest is not sent to CB2

The solution to this is of course to use always isPattern="true" in that case. However, this is not a consistent behaviour: CB1 should either reject the registration at all or accepting it and progress to CB2.

Effort: 3 man day

Malformed unsubscribeContextRequest not detected

The Context Broker does not detect this request is malformed:

<?xml version="1.0" encoding="UTF-8"?>
<unsubscribeContextRequest>
     <subscriptionId>51a325270a98a06f27db0875</subscriptionId>
</unsubscribeContextRequest>

Traces:

https://pdihub.hi.inet/gist/18d9ea259b46927bb2ad

The correct xml is:

<?xml version="1.0" encoding="UTF-8"?>
<unsubscribeContextRequest>
    <unsubscribeContext>
        <subscriptionId>51a325270a98a06f27db0875</subscriptionId>
    </unsubscribeContext>
</unsubscribeContextRequest>

Check actual information before sending notifyContextRequest in ONITIMEINTERVAL threads

It seems that the broker doesn't check if a notifyContextRequest has actual information. I'm seeing this in the traces at the "starting instant" when running test harness recover_ontimetinterval_threads.test

T@13:42:13  sendNotifyContextRequest[55]: payload (content-type: application/xml): '<notifyContextRequest>
  <subscriptionId>51cc4134295c2dc283bc4270</subscriptionId>
  <originator>localhost</originator>
</notifyContextRequest>

Test harness: federation

Create a harness test about context broker federation. For example, launch three CBs federated in the following way: CB1->CB2->CB3 so a registration/update in CB1 is propagated to CB3.

Effort: 1 man day

Remove -reset functionality

This functionality is dangerous and should be removed in favour of documented reset procedure that, at the end, are very simple to be carried out (see https://forge.fi-ware.eu/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_Installation_and_Administration_Guide#Delete_complete_database).

Actions to do:

  • Processing of "-reset" flag, printing a message about that option is obsolete
  • Test harness use "-reset" extensively in the "INIT" section, so we have to remove that "-reset" and include MongoDB-driven reset as documented in the installation manual

Timestamp and ID count in notifications "metadata"

It would be interesting to include "meta-data" in notifyContextRequest and notifyContextAvailabilityRequest for:

  • Notification ID count. Each new notification message includes a counter (which would match the 'count' field in the subscripcion document in MongoDB). Thus, clients can now understand if they are missing notifications.
  • Timestamp. It would be useful for debugging.

The problem is that the NGSI standard leaves little space for this in the notification payload. Maybe the originator field can be used somehow to achieve this... BTW, originator appears in notifyContextRequest (NGSI10) but not in notifyContextAvailabilityRequest (NGSI9).

External XML and JSON parse libraries

The 'not in use' string that is used to mark that an object has been created but still not filled in, should be further investigated.

Effort: ? man day

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.