ffi-vix_disk_lib 1.0.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 55bf41c744a9a5340104836576424de5d2b6f55a
4
- data.tar.gz: 2940e7622e4a526283de0e2f0f43b2fdcf57672c
2
+ SHA256:
3
+ metadata.gz: ac1c3cd0e843538159ebfd0eafd97daa38f110c2a23e40189a398cd186bda36f
4
+ data.tar.gz: fa9ff1758564340eba7ad155c227228456d0a1b6baa3465020131cfce39c57cf
5
5
  SHA512:
6
- metadata.gz: f5b854a5899cacd6893a419068d3788c767aef28ba36644db5296e0aa4809549c9590079497ba7a73ceca5966d07c3fb04eeee2f727689dd7692cee5da17966f
7
- data.tar.gz: 274f8c957c268da2dd9808d1a9faa70aa28e29923beac0dece47700781937739a2bb3291434e3b4b282470819bff0a3acc2c97be8d7280def6912259072be01b
6
+ metadata.gz: 4d5ae132b933ce99634f7889d9b1e741f7afefb81020ad431375dec9fe782aab6a6d6d5ef59cee00ef14a64c6fa80bbcc3bcd2fab20c63e9a3a00e6077b48831
7
+ data.tar.gz: f761743edd3559fbed1a797ff844703d660fb0ab396055c08c9862d58438f02eb3005587417d1db5b33f726e541bc1a654aa23abb5dc53cc0e255a751d745551
@@ -5,44 +5,29 @@ module FFI
5
5
  module API
6
6
  extend FFI::Library
7
7
 
8
- def attach_function(*args)
8
+ def self.attach_function(*args)
9
9
  super
10
10
  rescue FFI::NotFoundError
11
11
  warn "unable to attach #{args.first}"
12
12
  end
13
13
 
14
- def self.load_error
15
- @load_error
16
- end
17
-
18
- #
19
- # Make sure we load one and only one version of VixDiskLib
20
- #
21
- version_load_order = %w( 6.7.0 6.5.0 6.0.0 5.5.4 5.5.2 5.5.1 5.5.0 5.1.3 5.1.2 5.1.1 5.1.0 5.0.4 5.0.0 1.2.0 1.1.2 )
22
- bad_versions = {}
23
- load_errors = []
24
- loaded_library = ""
25
- version_load_order.each do |version|
26
- begin
27
- loaded_library = ffi_lib ["vixDiskLib.so.#{version}"]
28
- VERSION_MAJOR, VERSION_MINOR = loaded_library.first.name.split(".")[2, 2].collect(&:to_i)
29
- VERSION = version
30
- if bad_versions.keys.include?(version)
31
- loaded_library = ""
32
- @load_error = "VixDiskLib #{version} is not supported: #{bad_versions[version]}"
33
- end
34
- break
35
- rescue LoadError => err
36
- load_errors << "ffi-vix_disk_lib: failed to load #{version} version with error: #{err.message}."
37
- next
14
+ candidate_versions = %w[6.7.0 6.5.0 6.0.0 5.5.4 5.5.2 5.5.1 5.5.0 5.1.3 5.1.2 5.1.1 5.1.0 5.0.4 5.0.0 1.2.0 1.1.2]
15
+ candidate_libraries = candidate_versions.map { |v| "vixDiskLib.so.#{v}" }
16
+
17
+ # LD_LIBRARY_PATH is not honored on Mac, so build our own rudimentary version
18
+ if RbConfig::CONFIG["host_os"] =~ /darwin/ && (env = ENV["LD_LIBRARY_PATH"] || ENV["DYLD_LIBRARY_PATH"])
19
+ candidate_libraries = candidate_libraries.product(env.split(":")).flat_map do |n, p|
20
+ [
21
+ File.join(p, n),
22
+ File.join(p, FFI.map_library_name(n).chomp(".dylib")),
23
+ File.join(p, FFI.map_library_name(n))
24
+ ]
38
25
  end
39
26
  end
40
27
 
41
- unless @load_error || loaded_library.length > 0
42
- STDERR.puts load_errors.join("\n")
43
- @load_error = "ffi-vix_disk_lib: failed to load any version of VixDiskLib!"
44
- end
45
- LOADED_LIBRARY = loaded_library
28
+ LOADED_LIBRARY = ffi_lib(candidate_libraries)
29
+ VERSION = LOADED_LIBRARY.first.name.chomp(".dylib").split(".").last(3).join(".")
30
+ VERSION_MAJOR, VERSION_MINOR, = VERSION.split(".").map(&:to_i)
46
31
 
47
32
  # An error is a 64-bit value. If there is no error, then the value is
48
33
  # set to VIX_OK. If there is an error, then the least significant bits
@@ -63,12 +48,7 @@ module FFI
63
48
  end
64
49
 
65
50
  def self.evaluate_versioned_connect_params
66
- case VERSION
67
- when "6.5.0"
68
- ConnectParams_6_5_0
69
- else
70
- ConnectParams_1_0_0
71
- end
51
+ Gem::Version.new(VERSION) >= Gem::Version.new("6.5.0") ? ConnectParams_6_5_0 : ConnectParams_1_0_0
72
52
  end
73
53
 
74
54
  ConnectParams = evaluate_versioned_connect_params
@@ -1,5 +1,5 @@
1
1
  module FFI
2
2
  module VixDiskLib
3
- VERSION = "1.0.5"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
@@ -0,0 +1,3 @@
1
+ *.o
2
+ *.d
3
+ *.so*
data/spec/ext/Makefile ADDED
@@ -0,0 +1,30 @@
1
+ CC=gcc
2
+ CFLAGS=-I.
3
+ CFLAGS = -fPIC -O0 -g
4
+ LDFLAGS = -shared
5
+ LN = ln -sf
6
+ SRCS = vixDiskLib.c
7
+ OBJS = ${SRCS:.c=.o}
8
+ TARGET_LIB = libvixDiskLib.so
9
+ MAJOR_VERSION = $(shell echo ${VDDK_VERSION} | cut -f1 -d.)
10
+ VDDK_VERSION ?= 6.7.0
11
+
12
+ .PHONY: all
13
+ all: ${TARGET_LIB}.${VDDK_VERSION}
14
+
15
+ ${SRCS:.c=.d}:%.d:%.c
16
+ ${CC} ${CFLAGS} -MM $< >$@
17
+
18
+ ${TARGET_LIB}.${MAJOR_VERSION}: ${TARGET_LIB}
19
+ ${LN} $^ $@
20
+ ${TARGET_LIB}.${VDDK_VERSION}: ${TARGET_LIB}.${MAJOR_VERSION}
21
+ ${LN} $^ $@
22
+
23
+ ${TARGET_LIB}: ${OBJS}
24
+ ${CC} ${LDFLAGS} -o $@ $^
25
+
26
+ include ${SRCS:.c=.d}
27
+
28
+ .PHONY: clean
29
+ clean:
30
+ -${RM} ${TARGET_LIB} ${TARGET_LIB}.${MAJOR_VERSION} ${TARGET_LIB}.${VDDK_VERSION} ${OBJS} ${SRCS:.c=.d}
@@ -0,0 +1,456 @@
1
+ #include <stdlib.h>
2
+ #include <stddef.h>
3
+ #include <stdarg.h>
4
+ #include <stdint.h>
5
+
6
+ typedef uint64_t uint64;
7
+ typedef int64_t int64;
8
+ typedef uint32_t uint32;
9
+ typedef int32_t int32;
10
+ typedef uint16_t uint16;
11
+ typedef int16_t int16;
12
+ typedef uint8_t uint8;
13
+ typedef int8_t int8;
14
+ typedef char Bool;
15
+ typedef uint64 VixError;
16
+
17
+ enum {
18
+ VIX_OK = 0,
19
+ };
20
+
21
+ typedef struct VixDiskLibHandleStruct VixDiskLibHandleStruct;
22
+ typedef VixDiskLibHandleStruct *VixDiskLibHandle;
23
+ typedef void (VixDiskLibGenericLogFunc)(const char *fmt, va_list args);
24
+ struct VixDiskLibConnectParam;
25
+ typedef struct VixDiskLibConnectParam *VixDiskLibConnection;
26
+ typedef Bool (*VixDiskLibProgressFunc)(void *progressData,
27
+ int percentCompleted);
28
+ typedef void (*VixDiskLibCompletionCB)(void *cbData, VixError result);
29
+ typedef enum {
30
+ VIXDISKLIB_DISK_UNKNOWN = 256
31
+ } VixDiskLibDiskType;
32
+
33
+ typedef enum {
34
+ VIXDISKLIB_ADAPTER_UNKNOWN = 256
35
+ } VixDiskLibAdapterType;
36
+
37
+ typedef uint64 VixDiskLibSectorType;
38
+
39
+ typedef struct {
40
+ VixDiskLibDiskType diskType;
41
+ VixDiskLibAdapterType adapterType;
42
+ uint16 hwVersion;
43
+ VixDiskLibSectorType capacity;
44
+ } VixDiskLibCreateParams;
45
+
46
+ typedef enum {
47
+ VIXDISKLIB_CRED_UNKNOWN = 256
48
+ } VixDiskLibCredType;
49
+
50
+ typedef struct {
51
+ uint32 cylinders;
52
+ uint32 heads;
53
+ uint32 sectors;
54
+ } VixDiskLibGeometry;
55
+
56
+ typedef struct {
57
+ VixDiskLibGeometry biosGeo; // BIOS geometry for booting and partitioning
58
+ VixDiskLibGeometry physGeo; // physical geometry
59
+ VixDiskLibSectorType capacity; // total capacity in sectors
60
+ VixDiskLibAdapterType adapterType; // adapter type
61
+ int numLinks; // number of links (i.e. base disk + redo logs)
62
+ char *parentFileNameHint; // parent file for a redo log
63
+ char *uuid; // disk UUID
64
+ } VixDiskLibInfo;
65
+
66
+ typedef struct VixDiskLibConnectParamsState VixDiskLibConnectParamsState;
67
+
68
+ typedef struct {
69
+ VixDiskLibSectorType offset; // offset in sectors
70
+ VixDiskLibSectorType length;
71
+ } VixDiskLibBlock;
72
+
73
+ typedef struct {
74
+ uint32 numBlocks;
75
+ VixDiskLibBlock blocks[1];
76
+ } VixDiskLibBlockList;
77
+
78
+ typedef struct {
79
+ char *id;
80
+ char *datastoreMoRef;
81
+ char *ssId;
82
+ } VixDiskLibVStorageObjectSpec;
83
+
84
+ typedef enum {
85
+ VIXDISKLIB_SPEC_UNKNOWN = 2
86
+ } VixDiskLibSpecType;
87
+
88
+ typedef struct {
89
+ char *vmxSpec; // URL like spec of the VM.
90
+ char *serverName; // Name or IP address of VC / ESX.
91
+ char *thumbPrint; // SSL Certificate thumb print.
92
+ long privateUse; // This value is ignored.
93
+ VixDiskLibCredType credType;
94
+
95
+ union VixDiskLibCreds {
96
+ struct VixDiskLibUidPasswdCreds {
97
+ char *userName; // User id and password on the
98
+ char *password; // VC/ESX host.
99
+ } uid;
100
+ struct VixDiskLibSessionIdCreds { // Not supported in 1.0
101
+ char *cookie;
102
+ char *userName;
103
+ char *key;
104
+ } sessionId;
105
+ struct VixDiskLibTicketIdCreds *ticketId; // Internal use only.
106
+ } creds;
107
+
108
+ uint32 port; // port to use for authenticating with VC/ESXi host
109
+ uint32 nfcHostPort; // port to use for establishing NFC connection to ESXi host
110
+
111
+ char *vimApiVer; // not used
112
+ char reserved[8]; // internal use only
113
+ VixDiskLibConnectParamsState *state; // internal use only
114
+
115
+ union {
116
+ VixDiskLibVStorageObjectSpec vStorageObjSpec;
117
+ } spec;
118
+ VixDiskLibSpecType specType; // disk or VM spec
119
+ } VixDiskLibConnectParams;
120
+
121
+ VixError
122
+ VixDiskLib_InitEx(uint32 majorVersion,
123
+ uint32 minorVersion,
124
+ VixDiskLibGenericLogFunc *log,
125
+ VixDiskLibGenericLogFunc *warn,
126
+ VixDiskLibGenericLogFunc *panic,
127
+ const char* libDir,
128
+ const char* configFile)
129
+ {
130
+ return VIX_OK;
131
+ }
132
+
133
+ VixError
134
+ VixDiskLib_Init(uint32 majorVersion,
135
+ uint32 minorVersion,
136
+ VixDiskLibGenericLogFunc *log,
137
+ VixDiskLibGenericLogFunc *warn,
138
+ VixDiskLibGenericLogFunc *panic,
139
+ const char* libDir)
140
+ {
141
+ return VIX_OK;
142
+ }
143
+
144
+ void
145
+ VixDiskLib_Exit(void)
146
+ {
147
+ }
148
+
149
+ const char *
150
+ VixDiskLib_ListTransportModes(void)
151
+ {
152
+ return "";
153
+ }
154
+
155
+ VixError
156
+ VixDiskLib_Cleanup(const VixDiskLibConnectParams *connectParams,
157
+ uint32 *numCleanedUp, uint32 *numRemaining)
158
+ {
159
+ return VIX_OK;
160
+ }
161
+
162
+ VixError
163
+ VixDiskLib_Connect(const VixDiskLibConnectParams *connectParams,
164
+ VixDiskLibConnection *connection)
165
+ {
166
+ return VIX_OK;
167
+ }
168
+
169
+ VixError
170
+ VixDiskLib_PrepareForAccess(const VixDiskLibConnectParams *connectParams,
171
+ const char *identity)
172
+ {
173
+ return VIX_OK;
174
+ }
175
+
176
+ VixError
177
+ VixDiskLib_ConnectEx(const VixDiskLibConnectParams *connectParams,
178
+ Bool readOnly,
179
+ const char *snapshotRef,
180
+ const char *transportModes,
181
+ VixDiskLibConnection *connection)
182
+ {
183
+ return VIX_OK;
184
+ }
185
+
186
+ VixError
187
+ VixDiskLib_Disconnect(VixDiskLibConnection connection)
188
+ {
189
+ return VIX_OK;
190
+ }
191
+
192
+ VixError
193
+ VixDiskLib_EndAccess(const VixDiskLibConnectParams *connectParams,
194
+ const char *identity)
195
+ {
196
+ return VIX_OK;
197
+ }
198
+
199
+ VixError
200
+ VixDiskLib_Create(const VixDiskLibConnection connection,
201
+ const char *path,
202
+ const VixDiskLibCreateParams *createParams,
203
+ VixDiskLibProgressFunc progressFunc,
204
+ void *progressCallbackData)
205
+ {
206
+ return VIX_OK;
207
+ }
208
+
209
+ VixError
210
+ VixDiskLib_CreateChild(VixDiskLibHandle diskHandle,
211
+ const char *childPath,
212
+ VixDiskLibDiskType diskType,
213
+ VixDiskLibProgressFunc progressFunc,
214
+ void *progressCallbackData)
215
+ {
216
+ return VIX_OK;
217
+ }
218
+
219
+ VixError
220
+ VixDiskLib_Open(const VixDiskLibConnection connection,
221
+ const char *path,
222
+ uint32 flags,
223
+ VixDiskLibHandle *diskHandle)
224
+ {
225
+ return VIX_OK;
226
+ }
227
+
228
+ VixError
229
+ VixDiskLib_QueryAllocatedBlocks(VixDiskLibHandle diskHandle,
230
+ VixDiskLibSectorType startSector,
231
+ VixDiskLibSectorType numSectors,
232
+ VixDiskLibSectorType chunkSize,
233
+ VixDiskLibBlockList **blockList)
234
+ {
235
+ return VIX_OK;
236
+ }
237
+
238
+ VixError
239
+ VixDiskLib_FreeBlockList(VixDiskLibBlockList *blockList)
240
+ {
241
+ return VIX_OK;
242
+ }
243
+
244
+ VixError
245
+ VixDiskLib_GetInfo(VixDiskLibHandle diskHandle,
246
+ VixDiskLibInfo **info)
247
+ {
248
+ return VIX_OK;
249
+ }
250
+
251
+ void
252
+ VixDiskLib_FreeInfo(VixDiskLibInfo *info)
253
+ {
254
+ }
255
+
256
+ const char *
257
+ VixDiskLib_GetTransportMode(VixDiskLibHandle diskHandle)
258
+ {
259
+ return "";
260
+ }
261
+
262
+ VixError
263
+ VixDiskLib_Close(VixDiskLibHandle diskHandle)
264
+ {
265
+ return VIX_OK;
266
+ }
267
+
268
+ VixError
269
+ VixDiskLib_Read(VixDiskLibHandle diskHandle,
270
+ VixDiskLibSectorType startSector,
271
+ VixDiskLibSectorType numSectors,
272
+ uint8 *readBuffer)
273
+ {
274
+ return VIX_OK;
275
+ }
276
+
277
+ VixError
278
+ VixDiskLib_ReadAsync(VixDiskLibHandle diskHandle,
279
+ VixDiskLibSectorType startSector,
280
+ VixDiskLibSectorType numSectors,
281
+ uint8 *readBuffer,
282
+ VixDiskLibCompletionCB callback,
283
+ void *cbData)
284
+ {
285
+ return VIX_OK;
286
+ }
287
+
288
+ VixError
289
+ VixDiskLib_Write(VixDiskLibHandle diskHandle,
290
+ VixDiskLibSectorType startSector,
291
+ VixDiskLibSectorType numSectors,
292
+ const uint8 *writeBuffer)
293
+ {
294
+ return VIX_OK;
295
+ }
296
+
297
+ VixError
298
+ VixDiskLib_WriteAsync(VixDiskLibHandle diskHandle,
299
+ VixDiskLibSectorType startSector,
300
+ VixDiskLibSectorType numSectors,
301
+ const uint8 *writeBuffer,
302
+ VixDiskLibCompletionCB callback,
303
+ void *cbData)
304
+ {
305
+ return VIX_OK;
306
+ }
307
+
308
+ VixError
309
+ VixDiskLib_Flush(VixDiskLibHandle diskHandle)
310
+ {
311
+ return VIX_OK;
312
+ }
313
+
314
+ VixError
315
+ VixDiskLib_Wait(VixDiskLibHandle diskHandle)
316
+ {
317
+ return VIX_OK;
318
+ }
319
+
320
+ VixError
321
+ VixDiskLib_ReadMetadata(VixDiskLibHandle diskHandle,
322
+ const char *key,
323
+ char *buf,
324
+ size_t bufLen,
325
+ size_t *requiredLen)
326
+ {
327
+ return VIX_OK;
328
+ }
329
+
330
+ VixError
331
+ VixDiskLib_WriteMetadata(VixDiskLibHandle diskHandle,
332
+ const char *key,
333
+ const char *val)
334
+ {
335
+ return VIX_OK;
336
+ }
337
+
338
+ VixError
339
+ VixDiskLib_GetMetadataKeys(VixDiskLibHandle diskHandle,
340
+ char *keys,
341
+ size_t maxLen,
342
+ size_t *requiredLen)
343
+ {
344
+ return VIX_OK;
345
+ }
346
+
347
+ VixError
348
+ VixDiskLib_Unlink(VixDiskLibConnection connection,
349
+ const char *path)
350
+ {
351
+ return VIX_OK;
352
+ }
353
+
354
+ VixError
355
+ VixDiskLib_Grow(VixDiskLibConnection connection,
356
+ const char *path,
357
+ VixDiskLibSectorType capacity,
358
+ Bool updateGeometry,
359
+ VixDiskLibProgressFunc progressFunc,
360
+ void *progressCallbackData)
361
+ {
362
+ return VIX_OK;
363
+ }
364
+
365
+ VixError
366
+ VixDiskLib_Shrink(VixDiskLibHandle diskHandle,
367
+ VixDiskLibProgressFunc progressFunc,
368
+ void *progressCallbackData)
369
+ {
370
+ return VIX_OK;
371
+ }
372
+
373
+ VixError
374
+ VixDiskLib_Defragment(VixDiskLibHandle diskHandle,
375
+ VixDiskLibProgressFunc progressFunc,
376
+ void *progressCallbackData)
377
+ {
378
+ return VIX_OK;
379
+ }
380
+
381
+ VixError
382
+ VixDiskLib_Rename(const char *srcFileName,
383
+ const char *dstFileName)
384
+ {
385
+ return VIX_OK;
386
+ }
387
+
388
+ VixError
389
+ VixDiskLib_Clone(const VixDiskLibConnection dstConnection,
390
+ const char *dstPath,
391
+ const VixDiskLibConnection srcConnection,
392
+ const char *srcPath,
393
+ const VixDiskLibCreateParams *vixCreateParams,
394
+ VixDiskLibProgressFunc progressFunc,
395
+ void *progressCallbackData,
396
+ Bool overWrite)
397
+ {
398
+ return VIX_OK;
399
+ }
400
+
401
+ char *
402
+ VixDiskLib_GetErrorText(VixError err, const char *locale)
403
+ {
404
+ return NULL;
405
+ }
406
+
407
+ void
408
+ VixDiskLib_FreeErrorText(char* errMsg)
409
+ {
410
+ }
411
+
412
+ VixError
413
+ VixDiskLib_IsAttachPossible(VixDiskLibHandle parent, VixDiskLibHandle child)
414
+ {
415
+ return VIX_OK;
416
+ }
417
+
418
+ VixError
419
+ VixDiskLib_Attach(VixDiskLibHandle parent, VixDiskLibHandle child)
420
+ {
421
+ return VIX_OK;
422
+ }
423
+
424
+ VixError
425
+ VixDiskLib_SpaceNeededForClone(VixDiskLibHandle diskHandle,
426
+ VixDiskLibDiskType cloneDiskType,
427
+ uint64* spaceNeeded)
428
+ {
429
+ return VIX_OK;
430
+ }
431
+
432
+ VixError
433
+ VixDiskLib_CheckRepair(const VixDiskLibConnection connection,
434
+ const char *filename,
435
+ Bool repair)
436
+ {
437
+ return VIX_OK;
438
+ }
439
+
440
+ VixError
441
+ VixDiskLib_GetConnectParams(const VixDiskLibConnection connection,
442
+ VixDiskLibConnectParams** connectParams)
443
+ {
444
+ return VIX_OK;
445
+ }
446
+
447
+ void
448
+ VixDiskLib_FreeConnectParams(VixDiskLibConnectParams* connectParams)
449
+ {
450
+ }
451
+
452
+ VixDiskLibConnectParams *
453
+ VixDiskLib_AllocateConnectParams()
454
+ {
455
+ return NULL;
456
+ }
@@ -1,25 +1,37 @@
1
1
  describe FFI::VixDiskLib::API do
2
- let(:major_version) { described_class::VERSION_MAJOR }
3
- let(:minor_version) { described_class::VERSION_MINOR }
4
- let(:log) { lambda { |_string, _pointer| } }
5
- let(:lib_dir) { nil }
2
+ let(:log) { lambda { |_string, _pointer| } }
3
+ let(:lib_dir) { nil }
4
+ let(:version) { ENV.fetch("VDDK_VERSION", "6.7.0") }
6
5
 
7
- context "init" do
6
+ it "VERSION" do
7
+ expect(described_class::VERSION).to eq version
8
+ end
9
+
10
+ it "VERSION_MAJOR" do
11
+ expect(described_class::VERSION_MAJOR).to eq Gem::Version.new(version).segments[0]
12
+ end
13
+
14
+ it "VERSION_MINOR" do
15
+ expect(described_class::VERSION_MINOR).to eq Gem::Version.new(version).segments[1]
16
+ end
17
+
18
+ describe ".init" do
8
19
  it "initializes successfully" do
9
- err = described_class.init(major_version, minor_version, log, log, log, lib_dir)
20
+ err = described_class.init(described_class::VERSION_MAJOR, described_class::VERSION_MINOR, log, log, log, lib_dir)
10
21
  expect(err).to eq(described_class::VixErrorType[:VIX_OK])
11
22
  end
12
23
  end
13
24
 
14
- context "ConnectParams" do
15
- case described_class::VERSION
16
- when "6.5.0"
17
- it "has vimApiVer" do
18
- expect(described_class::ConnectParams.members).to include(:vimApiVer)
19
- end
20
- else
21
- it "doesn't have vimApiVer" do
22
- expect(described_class::ConnectParams.members).to_not include(:vimApiVer)
25
+ describe "ConnectParams" do
26
+ context "with #{described_class::VERSION}" do
27
+ if Gem::Version.new(described_class::VERSION) >= Gem::Version.new("6.5.0")
28
+ it "has vimApiVer" do
29
+ expect(described_class::ConnectParams.members).to include(:vimApiVer)
30
+ end
31
+ else
32
+ it "doesn't have vimApiVer" do
33
+ expect(described_class::ConnectParams.members).to_not include(:vimApiVer)
34
+ end
23
35
  end
24
36
  end
25
37
  end
data/spec/spec_helper.rb CHANGED
@@ -1,17 +1,6 @@
1
- begin
2
- require 'ffi-vix_disk_lib'
3
- rescue LoadError
4
- STDERR.puts <<-EOMSG
1
+ ENV["LD_LIBRARY_PATH"] ||= File.expand_path("ext", __dir__)
5
2
 
6
- The VMware VDDK must be installed in order to run specs.
7
-
8
- The VMware VDDK is not redistributable, and not available on MacOSX.
9
- See https://www.vmware.com/support/developer/vddk/ for more information.
10
-
11
- EOMSG
12
-
13
- exit 1
14
- end
3
+ require 'ffi-vix_disk_lib'
15
4
 
16
5
  RSpec.configure do |config|
17
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-vix_disk_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry Keselman
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-01-11 00:00:00.000000000 Z
13
+ date: 2020-01-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - "~>"
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '1.3'
21
+ version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - "~>"
26
+ - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '1.3'
28
+ version: '0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rake
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -41,7 +41,7 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  - !ruby/object:Gem::Dependency
44
- name: minitest
44
+ name: rspec
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
@@ -91,13 +91,15 @@ files:
91
91
  - lib/ffi-vix_disk_lib/safe_create_params.rb
92
92
  - lib/ffi-vix_disk_lib/struct.rb
93
93
  - lib/ffi-vix_disk_lib/version.rb
94
+ - spec/ext/.gitignore
95
+ - spec/ext/Makefile
96
+ - spec/ext/vixDiskLib.c
94
97
  - spec/ffi-vix_disk_lib/api_spec.rb
95
98
  - spec/ffi-vix_disk_lib/api_wrapper_spec.rb
96
- - spec/ffi-vix_disk_lib/version_spec.rb
97
99
  - spec/spec_helper.rb
98
100
  homepage: http://github.com/ManageIQ/ffi-vix_disk_lib
99
101
  licenses:
100
- - APL 2.0
102
+ - Apache-2.0
101
103
  metadata: {}
102
104
  post_install_message:
103
105
  rdoc_options: []
@@ -114,13 +116,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
116
  - !ruby/object:Gem::Version
115
117
  version: '0'
116
118
  requirements: []
117
- rubyforge_project:
118
- rubygems_version: 2.6.12
119
+ rubygems_version: 3.1.2
119
120
  signing_key:
120
121
  specification_version: 4
121
122
  summary: Ruby FFI Binding to VMware VixDiskLib.
122
123
  test_files:
124
+ - spec/ext/.gitignore
125
+ - spec/ext/Makefile
126
+ - spec/ext/vixDiskLib.c
123
127
  - spec/ffi-vix_disk_lib/api_spec.rb
124
128
  - spec/ffi-vix_disk_lib/api_wrapper_spec.rb
125
- - spec/ffi-vix_disk_lib/version_spec.rb
126
129
  - spec/spec_helper.rb
@@ -1,5 +0,0 @@
1
- describe FFI::VixDiskLib::VERSION do
2
- it "must be defined" do
3
- expect(FFI::VixDiskLib::VERSION).to_not be_nil
4
- end
5
- end