|  | @@ -80,6 +80,35 @@ class CSharpDistribTest(object):
 | 
	
		
			
				|  |  |    def __str__(self):
 | 
	
		
			
				|  |  |      return self.name
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +class NodeDistribTest(object):
 | 
	
		
			
				|  |  | +  """Tests Node package"""
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  def __init__(self, platform, arch, docker_suffix, node_version):
 | 
	
		
			
				|  |  | +    self.name = 'node_npm_%s_%s_%s_%s' % (platform, arch,
 | 
	
		
			
				|  |  | +                                          docker_suffix, node_version)
 | 
	
		
			
				|  |  | +    self.platform = platform
 | 
	
		
			
				|  |  | +    self.arch = arch
 | 
	
		
			
				|  |  | +    self.docker_suffix = docker_suffix
 | 
	
		
			
				|  |  | +    self.node_version = node_version
 | 
	
		
			
				|  |  | +    self.labels = ['distribtest', 'node', platform, arch,
 | 
	
		
			
				|  |  | +                   docker_suffix, 'node-%s' % node_version]
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  def pre_build_jobspecs(self):
 | 
	
		
			
				|  |  | +    return []
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  def build_jobspec(self):
 | 
	
		
			
				|  |  | +    if self.platform not in ('linux',):
 | 
	
		
			
				|  |  | +      raise Exception("Not supported yet.")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return create_docker_jobspec(self.name,
 | 
	
		
			
				|  |  | +                                 'tools/dockerfile/distribtest/node_%s_%s' % (
 | 
	
		
			
				|  |  | +                                     self.docker_suffix,
 | 
	
		
			
				|  |  | +                                     self.arch),
 | 
	
		
			
				|  |  | +                                 'test/distrib/node/run_distrib_test.sh %s' % (
 | 
	
		
			
				|  |  | +                                     self.node_version))
 | 
	
		
			
				|  |  | +    def __str__(self):
 | 
	
		
			
				|  |  | +      return self.name
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class PythonDistribTest(object):
 | 
	
		
			
				|  |  |    """Tests Python package"""
 | 
	
	
		
			
				|  | @@ -176,5 +205,10 @@ def targets():
 | 
	
		
			
				|  |  |            RubyDistribTest('linux', 'x64', 'ubuntu1504'),
 | 
	
		
			
				|  |  |            RubyDistribTest('linux', 'x64', 'ubuntu1510'),
 | 
	
		
			
				|  |  |            RubyDistribTest('linux', 'x64', 'ubuntu1604'),
 | 
	
		
			
				|  |  | +          NodeDistribTest('linux', 'x86', 'jessie', '4')
 | 
	
		
			
				|  |  | +          ] + [
 | 
	
		
			
				|  |  | +            NodeDistribTest('linux', 'x64', os, version)
 | 
	
		
			
				|  |  | +            for os in ('wheezy', 'jessie', 'ubuntu1204', 'ubuntu1404',
 | 
	
		
			
				|  |  | +                       'ubuntu1504', 'ubuntu1510', 'ubuntu1604')
 | 
	
		
			
				|  |  | +            for version in ('0.10', '0.12', '3', '4', '5')
 | 
	
		
			
				|  |  |            ]
 | 
	
		
			
				|  |  | -
 |