Browse Source

Update sratom

tags/1.9.7
falkTX 10 years ago
parent
commit
552798e90b
8 changed files with 77 additions and 43 deletions
  1. +2
    -1
      source/modules/lilv/sratom-0.4.7/NEWS
  2. +1
    -1
      source/modules/lilv/sratom-0.4.7/doc/reference.doxygen.in
  3. +1
    -1
      source/modules/lilv/sratom-0.4.7/sratom.pc.in
  4. +3
    -3
      source/modules/lilv/sratom-0.4.7/sratom/sratom.h
  5. +4
    -5
      source/modules/lilv/sratom-0.4.7/src/sratom.c
  6. +53
    -20
      source/modules/lilv/sratom-0.4.7/tests/sratom_test.c
  7. +8
    -7
      source/modules/lilv/sratom-0.4.7/waf
  8. +5
    -5
      source/modules/lilv/sratom-0.4.7/wscript

+ 2
- 1
source/modules/lilv/sratom-0.4.7/NEWS View File

@@ -1,8 +1,9 @@
sratom (0.4.7) unstable;

* Fix warnings when building with ISO C++ compilers
* Upgrade to waf 1.8.14

-- David Robillard <d@drobilla.net> Fri, 08 Aug 2014 18:14:19 -0400
-- David Robillard <d@drobilla.net> Fri, 02 Oct 2015 21:03:46 -0400

sratom (0.4.6) stable;



+ 1
- 1
source/modules/lilv/sratom-0.4.7/doc/reference.doxygen.in View File

@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = @SRATOM_DOC_DIR@
OUTPUT_DIRECTORY = .

# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and


+ 1
- 1
source/modules/lilv/sratom-0.4.7/sratom.pc.in View File

@@ -7,5 +7,5 @@ Name: Sratom
Version: @SRATOM_VERSION@
Description: LV2 Atom RDF serialisation library
Requires: lv2 @PKG_serd_0@ @PKG_sord_0@
Libs: -L${libdir} -l@LIB_SRATOM@ -lsord-0 -lserd-0 -lm
Libs: -L${libdir} -l@LIB_SRATOM@
Cflags: -I${includedir}/sratom-@SRATOM_MAJOR_VERSION@

+ 3
- 3
source/modules/lilv/sratom-0.4.7/sratom/sratom.h View File

@@ -23,9 +23,9 @@

#include <stdint.h>

#include "lv2/atom.h"
#include "lv2/atom-forge.h"
#include "lv2/urid.h"
#include "lv2/lv2plug.in/ns/ext/urid/urid.h"
#include "lv2/lv2plug.in/ns/ext/atom/atom.h"
#include "lv2/lv2plug.in/ns/ext/atom/forge.h"
#include "serd/serd.h"
#include "sord/sord.h"



+ 4
- 5
source/modules/lilv/sratom-0.4.7/src/sratom.c View File

@@ -20,9 +20,9 @@
#include <stdlib.h>
#include <string.h>

#include "lv2/atom-forge.h"
#include "lv2/atom-util.h"
#include "lv2/midi.h"
#include "lv2/lv2plug.in/ns/ext/atom/forge.h"
#include "lv2/lv2plug.in/ns/ext/atom/util.h"
#include "lv2/lv2plug.in/ns/ext/midi/midi.h"

#include "sratom/sratom.h"

@@ -551,9 +551,8 @@ atom_size(Sratom* sratom, uint32_t type_urid)
return sizeof(int32_t);
} else if (type_urid == sratom->forge.URID) {
return sizeof(uint32_t);
} else {
return 0;
}
return 0;
}

static void


+ 53
- 20
source/modules/lilv/sratom-0.4.7/tests/sratom_test.c View File

@@ -76,7 +76,7 @@ test_fail(const char* fmt, ...)
}

static int
test(bool top_level)
test(bool top_level, bool pretty_numbers)
{
LV2_URID_Map map = { NULL, urid_map };
LV2_URID_Unmap unmap = { NULL, urid_unmap };
@@ -84,6 +84,7 @@ test(bool top_level)
lv2_atom_forge_init(&forge, &map);

Sratom* sratom = sratom_new(&map);
sratom_set_pretty_numbers(sratom, pretty_numbers);
sratom_set_object_mode(
sratom,
top_level ? SRATOM_OBJECT_MODE_BLANK_SUBJECT : SRATOM_OBJECT_MODE_BLANK);
@@ -106,8 +107,12 @@ test(bool top_level)
LV2_URID eg_blank = urid_map(NULL, "http://example.org/o-blank");
LV2_URID eg_tuple = urid_map(NULL, "http://example.org/p-tuple");
LV2_URID eg_rectup = urid_map(NULL, "http://example.org/q-rectup");
LV2_URID eg_vector = urid_map(NULL, "http://example.org/r-vector");
LV2_URID eg_seq = urid_map(NULL, "http://example.org/s-seq");
LV2_URID eg_ivector = urid_map(NULL, "http://example.org/r-ivector");
LV2_URID eg_lvector = urid_map(NULL, "http://example.org/s-lvector");
LV2_URID eg_fvector = urid_map(NULL, "http://example.org/t-fvector");
LV2_URID eg_dvector = urid_map(NULL, "http://example.org/u-dvector");
LV2_URID eg_bvector = urid_map(NULL, "http://example.org/v-bvector");
LV2_URID eg_seq = urid_map(NULL, "http://example.org/x-seq");

uint8_t buf[1024];
lv2_atom_forge_set_buffer(&forge, buf, sizeof(buf));
@@ -217,10 +222,30 @@ test(bool top_level)
lv2_atom_forge_pop(&forge, &subrectup_frame);
lv2_atom_forge_pop(&forge, &rectup_frame);

// eg_vector = (Vector<Int32>)1,2,3,4
lv2_atom_forge_key(&forge, eg_vector);
int32_t elems[] = { 1, 2, 3, 4 };
lv2_atom_forge_vector(&forge, 4, forge.Int, sizeof(int32_t), elems);
// eg_ivector = (Vector<Int>)1,2,3,4
lv2_atom_forge_key(&forge, eg_ivector);
int32_t ielems[] = { 1, 2, 3, 4 };
lv2_atom_forge_vector(&forge, sizeof(int32_t), forge.Int, 4, ielems);

// eg_lvector = (Vector<Long>)1,2,3,4
lv2_atom_forge_key(&forge, eg_lvector);
int64_t lelems[] = { 1, 2, 3, 4 };
lv2_atom_forge_vector(&forge, sizeof(int64_t), forge.Long, 4, lelems);

// eg_fvector = (Vector<Float>)1.0,2.0,3.0,4.0
lv2_atom_forge_key(&forge, eg_fvector);
float felems[] = { 1, 2, 3, 4 };
lv2_atom_forge_vector(&forge, sizeof(float), forge.Float, 4, felems);

// eg_dvector = (Vector<Double>)1.0,2.0,3.0,4.0
lv2_atom_forge_key(&forge, eg_dvector);
double delems[] = { 1, 2, 3, 4 };
lv2_atom_forge_vector(&forge, sizeof(double), forge.Double, 4, delems);

// eg_bvector = (Vector<Bool>)1,0
lv2_atom_forge_key(&forge, eg_bvector);
int32_t belems[] = { true, false };
lv2_atom_forge_vector(&forge, sizeof(int32_t), forge.Bool, 2, belems);

// eg_seq = (Sequence)1, 2
LV2_URID midi_midiEvent = map.map(map.handle, LV2_MIDI__MidiEvent);
@@ -259,28 +284,31 @@ test(bool top_level)

LV2_Atom* parsed = NULL;
if (top_level) {
SerdNode o= serd_node_from_string(SERD_URI, (const uint8_t*)obj_uri);
SerdNode o = serd_node_from_string(SERD_URI, (const uint8_t*)obj_uri);
parsed = sratom_from_turtle(sratom, base_uri, &o, NULL, outstr);
} else {
parsed = sratom_from_turtle(sratom, base_uri, subj, pred, outstr);
}
if (!lv2_atom_equals(obj, parsed)) {
return test_fail("Parsed atom does not match original\n");
}

char* instr = sratom_to_turtle(
sratom, &unmap, base_uri, subj, pred,
parsed->type, parsed->size, LV2_ATOM_BODY(parsed));
printf("# Turtle => Atom\n\n%s", instr);
if (!pretty_numbers) {
if (!lv2_atom_equals(obj, parsed)) {
return test_fail("Parsed atom does not match original\n");
}

char* instr = sratom_to_turtle(
sratom, &unmap, base_uri, subj, pred,
parsed->type, parsed->size, LV2_ATOM_BODY(parsed));
printf("# Turtle => Atom\n\n%s", instr);

if (strcmp(outstr, instr)) {
return test_fail("Re-serialised string differs from original\n");
if (strcmp(outstr, instr)) {
return test_fail("Re-serialised string differs from original\n");
}
free(instr);
}

printf("All tests passed.\n");

free(parsed);
free(instr);
free(outstr);
sratom_free(sratom);
for (uint32_t i = 0; i < n_uris; ++i) {
@@ -297,10 +325,15 @@ test(bool top_level)
int
main(void)
{
if (test(false)) {
if (test(false, false)) {
return 1;
} else if (test(true)) {
} else if (test(true, false)) {
return 1;
} else if (test(false, true)) {
return 1;
} else if (test(true, true)) {
return 1;
}

return 0;
}

+ 8
- 7
source/modules/lilv/sratom-0.4.7/waf
File diff suppressed because it is too large
View File


+ 5
- 5
source/modules/lilv/sratom-0.4.7/wscript View File

@@ -22,6 +22,8 @@ def options(opt):
autowaf.set_options(opt)
opt.add_option('--test', action='store_true', dest='build_tests',
help="Build unit tests")
opt.add_option('--no-coverage', action='store_true', dest='no_coverage',
help='Do not use gcov for code coverage')
opt.add_option('--static', action='store_true', dest='static',
help="Build static library")
opt.add_option('--no-shared', action='store_true', dest='no_shared',
@@ -40,11 +42,8 @@ def configure(conf):
if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC:
conf.fatal('Neither a shared nor a static build requested')

# Check for gcov library (for test coverage)
if conf.env.BUILD_TESTS:
conf.check_cc(lib='gcov',
define_name='HAVE_GCOV',
mandatory=False)
if conf.env.BUILD_TESTS and not Options.options.no_coverage:
conf.check_cc(lib='gcov', define_name='HAVE_GCOV', mandatory=False)

autowaf.check_pkg(conf, 'lv2', uselib_store='LV2',
atleast_version='1.8.1', mandatory=True)
@@ -143,6 +142,7 @@ def build(bld):
# Documentation
autowaf.build_dox(bld, 'SRATOM', SRATOM_VERSION, top, out)

bld.add_post_fun(autowaf.run_ldconfig)
if bld.env.DOCS:
bld.add_post_fun(fix_docs)



Loading…
Cancel
Save