Hi all,
Frome time to time the 160- etap test is failing (depending on the
platform or whatever). While chasing this issue I noticed that
returning values from couch_config:get inserted via couch_config:set
aren't in the right order:
inserts are:
ok = couch_config:set("vhosts", "example.com", "/etap-test-db", false),
ok = couch_config:set("vhosts", "*.example.com",
"/etap-test-db/_design/doc1/_rewrite", false),
ok = couch_config:set("vhosts", "example.com/test", "/etap-test-db", false),
ok = couch_config:set("vhosts", "example1.com",
"/etap-test-db/_design/doc1/_rewrite/", false),
ok = couch_config:set("vhosts",":appname.:dbname.example1.com",
"/:dbname/_design/:appname/_rewrite/", false),
ok = couch_config:set("vhosts", ":dbname.example1.com", "/:dbname", false),
ok = couch_config:set("vhosts", "*.example2.com", "/*", false),
ok = couch_config:set("vhosts", "*.example2.com/test", "/*", false),
ok = couch_config:set("vhosts", "*/test", "/etap-test-db", false),
ok = couch_config:set("vhosts", "*/test1",
"/etap-test-db/_design/doc1/_show/test", false),
and couch_config:get("vhosts") return:
[{":appname.:dbname.example1.com",
"/:dbname/_design/:appname/_rewrite/"},
{"example.com","/etap-test-db"},
{"*.example2.com","/*"},
{":dbname.example1.com","/:dbname"},
{"example.com/test","/etap-test-db"},
{"*.example2.com/test","/*"},
{"*/test1","/etap-test-db/_design/doc1/_show/test"},
{"*/test","/etap-test-db"},
{"example1.com","/etap-test-db/_design/doc1/_rewrite/"},
{"*.example.com","/etap-test-db/_design/doc1/_rewrite"}]
which may be the result of ets:match. Does anyone know if ets:match is
expected to return in insertion order ? But this is the reason test is
failing here I think. Any thoughts ? Anyway I will post later today a
test to isolate this behaviour. maybe it worth a ticket too.
- benoit